mvvm - 计算列应在MVVM模型中的哪个位置?

标签 mvvm

我有一个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/

相关文章:

android - 回调 Observable

c# - 如何清除通过行为绑定(bind)到 ViewModel 的 WPF PasswordBox?

java - MVVM 设计模式是否强制 ViewModel 和 View 具有 Observable 和 Observer 关系?

mvvm - 如何在上下文菜单的 CommandParameter 中传递 Treeview 项的 selectedItem

c# - 内部对象属性更改时自动引发 PropertyChanged

javascript - 将项目添加到 knockout View 模型中,而不是更新 View

android - 如何在 2020/21 年获得 Activity 中的 ViewModel 实例?

wpf - 使用 DataTemplate 时更改内容会更改 DataContext

wpf - Caliburn.Micro:将屏幕中的按钮绑定(bind)到 ScreenConductor 中的命令

wpf - 带有 XML 模型和 LinqToXml 的 MVVM?