【发布时间】:2013-06-13 04:33:22
【问题描述】:
我是 MVVM 的新手,我正在开发一个应用程序。我有一个包含很多属性的表单视图。大约 50。我不能将这些分离到用户控件中,因为我会破坏 mvvm 原则。
我不能将它们分成模型,因为它们包含逻辑。 PropertyChange、Error change 这些都不是 poco 类,也不是模型。
如果我在同一个视图模型中保留 60 个属性会很好吗?
我觉得有错吗? 你会如何组织这些?
【问题讨论】:
-
为什么不能在不破坏 MVVM 的情况下创建
UserControl? -
Viv 的一个好问题。您可以在主要 ViewModel 中为用户控件制作 ViewModel。您也可以使用某种“控制器”层进行逻辑,并仅通过 PropertyChanged 实现保持 ViewModel 清洁。最明智的方法是:创建基础视图模型并从中派生。
-
我知道我不能使用 UserController 因为stackoverflow.com/questions/17048066/…
-
我会说:如果您需要在视图中显示 60 个东西 - 那么您必须在视图模型中保留 60 个属性。但当然,如果您可以在用户控件中拆分视图,您也可以拆分视图模型
-
听起来不错,比如我有一个formview和一个formviewmodel给它,我可以写一个addressviewmodel作为它的一部分吗?
标签: c# .net wpf mvvm mvvm-light