Wpf \ MVVM - 我应该在哪里放置与视图相关的属性?

时间:2017-08-11 16:51:12

标签: c# wpf user-interface design-patterns mvvm

我正在使用MVVM模式构建WPF应用程序。 我有两个条形(矩形),应根据两个数字之间的比例改变它们的长度。例如,如果我确定总长度为100,并且一个数字是2而另一个数字是3,我希望第一个条的长度为40,第二个条的长度为60。

我将这些数字保存为我的ViewModel中的属性,但我的问题是条形宽度属性应该绑定到什么。 我可以为ViewModel添加另外两个属性,每个条宽度一个,但感觉不对,因为这是视图特有的。

有什么建议吗?

谢谢,

半乳糖

1 个答案:

答案 0 :(得分:3)

特定于视图的属性应保留在视图中。 MVVM(或任何MV *模式)的想法是将视图与业务逻辑分开。一个常见的误解是认为你不能在视图中拥有任何逻辑或属性。虽然您应该最小化它们,但纯视图特定的属性应该存在于视图中。

想象一下,您想要使用具有不同视图的视图模型,例如针对移动设备的视图。条形图的最大宽度可能不同,但您的视图模型不应该关心它。

希望有所帮助