我有一个WPF DataGrid显示产品。在价格和质量这两个字段中,它们实际上是Product类的属性。我需要在网格名称MultipliedValue = price * mass中显示一个单独的列。根据MVVM模型,我应该在哪里做?
1)在模型中通过设置只读属性。
2)在转换器中,以便只有我的UI会意识到这一点?
3)还是在View模型中?
请建议我应该选择哪个选项,为什么?
谢谢。
最佳答案
我从一开始就不理会选项#2-转换器应仅用于说明UI的实现细节,尤其是在MVVM中,甚至可能不这样做(因为您可以在ViewModel内部进行转换,这是选项#3和更方便)。
在#1和#3之间,在这种情况下,恕我直言,最好与#1搭配使用-价格不是只与您的UI相关的东西,当然价格的概念(及其推导方式)将始终保持不变你的申请。用户界面和后端都可以选择是否使用此属性。
关于mvvm - 计算列应在MVVM模型中的哪个位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870030/