我是 MVVM 的新手,我正在开发一个应用程序。我有一个包含很多属性的表单视图。大约 50。我不能将这些分离到用户控件中,因为我会破坏 mvvm 原则。
我不能将它们分成模型,因为它们包含逻辑。PropertyChange、Error change 这些不是 poco 类,也不是模型。
如果我在同一个视图模型中保留 60 个属性会不会很好?
我觉得错了吗?你会如何组织这些?
我是 MVVM 的新手,我正在开发一个应用程序。我有一个包含很多属性的表单视图。大约 50。我不能将这些分离到用户控件中,因为我会破坏 mvvm 原则。
我不能将它们分成模型,因为它们包含逻辑。PropertyChange、Error change 这些不是 poco 类,也不是模型。
如果我在同一个视图模型中保留 60 个属性会不会很好?
我觉得错了吗?你会如何组织这些?
我不能将它们分离到用户控件中,因为我会破坏 mvvm 原则。
我不确定你的意思。本质上,您需要使用视图组合并将视图模型和视图分解为组成部分。
视图是 WPF UserControl
(或Window
),因此如果您使用 MVVM,那么您使用的是UserControl
's,这只是从概念上讲它们被视为模式中的视图。
如果您使用 MVVM 模式,我还建议您使用 MVVM 框架,而Caliburn.Micro之类的东西使视图组合变得非常容易。
我也不建议对视图模型使用依赖属性,而是使用 INotifyPropertyChanged。
大多数 MVVM 框架提供了一个基本视图模型类型,其中包括一个基于 lambda 的方法来调用PropertyChanged
事件,从而有助于重构。
请不要使用PropertyChanged
60 Properties
。使用DependencyProperty
. 对于可用性条款,请使用propdp
Visual Studio 中的快捷方式并按Tab
两次。
请参考此链接: http: //www.codeproject.com/Articles/62158/DependencyProperties-or-INotifyPropertyChanged