我见过很多关于MVVM-Patern的教程,但我仍然不明白为什么我需要获取Dependency-Property或INotiyfyPropertyChanged
- 属性,如果我想从ViewModel发回信息观点。
答案 0 :(得分:2)
依赖项属性为属性更改时提供内置更改通知,这意味着WPF知道控件值何时发生更改。
默认情况下,您的ViewModel类型不提供任何更改通知机制,因此如果它们不支持这两个选项,那么视图应该知道viewModel中的属性何时被更改?
您需要viewModel使用其中任何一个选项,以便在属性值更改时通知视图。
这意味着如果在代码中更改了属性值,则会更新用户界面,如果通过用户输入更改了属性,则还会更新viewModel(最终是您的模型)以反映这些更改。 (基本上,绑定的两边都需要一种将属性更改传递给彼此的方式)。
INotifyPropertyChanged
接口是首选方法,因为它意味着您的viewModel不是特定于WPF的,可以被其他用户界面技术使用。此外,依赖项属性只能用于派生自DependencyObject
的类型。
答案 1 :(得分:1)
首先:您根本不需要使用INotifyPropertyChanged
或DependencyObject
。
但是,这是使用Binding的中心点,有一些Pub / Sub机制
Binding,正在侦听那些PropertyChanged
事件并进行更新
如果Binding的相关属性已更改,则为视图。
以下是有关该信息的更多信息:
答案 2 :(得分:0)
INotiyfyPropertyChanged
- 我们在viewmodel中使用此属性,以便在UI中发生任何更改时,此属性将反映这些更改。