我已经在WPF编程了一段时间,现在来自Windows Forms。因此,我一直将View和ViewModel直接链接在一起,方法是在View中为控件提供一个名称,并在ViewModel中使用该名称来更新我的View。
现在我做了一些搜索,发现有一种叫做MVVM的东西。我已经研究了一个星期,并试图让我的应用程序“更好”。
首先,我开始使用与Dependency Properties的绑定,如下所示:
Public Shared SelKlantProperty As DependencyProperty = DependencyProperty.Register("SelKlant", GetType(String), GetType(MainWindow))
Public Property SelKlant As String
Get
Return DirectCast(GetValue(SelKlantProperty), String)
End Get
Set(value As String)
SetValue(SelKlantProperty, value)
End Set
End Property
我现在有大约50个这样的属性,我的代码变得非常快。另外,我的ClassDiagram填充了Public Shared DependencyProperty
的字段和Public Property
的属性。
我想知道,是否有更简单或更好的方法来绑定View和ViewModel?我使用的大部分Properties
都是将Text
放入TextBoxes
。
答案 0 :(得分:2)
您不需要为视图模型属性创建依赖项属性 - 常规属性就足够了。但是,如果您要将绑定到该属性,则必须使用依赖项属性(例如,TextBox.Text
是依赖项属性 - 如果您将无法绑定到它,则无法绑定它它不是)。您可以按原样保留属性 - 只需确保实施INotifyPropertyChanged
。
依赖属性除了用于数据绑定之外还有其他用途,但我不会详细说明,因为它是一个非常大的主题,您可以在其他资源中找到。除此之外,您可以阅读有关如何实现MVVM模式here的更多信息。此页面还包含一些示例,您可以在其中看到viewmodel不需要定义任何依赖项属性。