9

我是 MVVM 的新手,我正在开发一个应用程序。我有一个包含很多属性的表单视图。大约 50。我不能将这些分离到用户控件中,因为我会破坏 mvvm 原则。

我不能将它们分成模型,因为它们包含逻辑。PropertyChange、Error change 这些不是 poco 类,也不是模型。

如果我在同一个视图模型中保留 60 个属性会不会很好?

我觉得错了吗?你会如何组织这些?

4

2 回答 2

2

我不能将它们分离到用户控件中,因为我会破坏 mvvm 原则。

我不确定你的意思。本质上,您需要使用视图组合并将视图模型和视图分解为组成部分。

视图是 WPF UserControl(或Window),因此如果您使用 MVVM,那么您使用的是UserControl's,这只是从概念上讲它们被视为模式中的视图。

如果您使用 MVVM 模式,我还建议您使用 MVVM 框架,而Caliburn.Micro之类的东西使视图组合变得非常容易。

我也不建议对视图模型使用依赖属性,而是使用 INotifyPropertyChanged

大多数 MVVM 框架提供了一个基本视图模型类型,其中包括一个基于 lambda 的方法来调用PropertyChanged事件,从而有助于重构。

于 2013-06-17T09:45:58.177 回答
1

请不要使用PropertyChanged60 Properties。使用DependencyProperty. 对于可用性条款,请使用propdpVisual Studio 中的快捷方式并按Tab两次。

请参考此链接: http: //www.codeproject.com/Articles/62158/DependencyProperties-or-INotifyPropertyChanged

于 2013-06-17T09:23:07.500 回答