我见过有关MVVM,百通很多教程,但我还是不明白,为什么我需要得到一个依赖属性或INotiyfyPropertyChanged
,物业,如果我想从视图模型将信息发回给视图。为什么ViewModel需要实现INotifyPropertyChanged或使用依赖属性?
2
A
回答
2
依赖属性提供内置的变化通知时,属性更改,这意味着WPF知道当一个控件的值发生了变化。
默认情况下,您的ViewModel类型不会提供更改通知的任何机制,因此如果它们不支持这两个选项中的任何一个,视图应如何知道viewModel中的属性何时发生更改?
你需要你的视图模型使用这些选项,这样的观点可以当一个属性值发生变化的通知。
这意味着如果一个属性值在代码改变时,用户界面被更新,并且如果属性是由用户输入改变了你的视图模型(并且最终模型)也被更新,以反映这些改变。 (基本上,绑定的双方都需要将对方的属性更改进行通信)。
INotifyPropertyChanged
接口是首选方法,因为它意味着您的viewModel不是特定于WPF的,并且可以被其他用户界面技术使用。此外,依赖项属性只能用于从DependencyObject
派生的类型。
1
第一:你并不需要使用INotifyPropertyChanged
或DependencyObject
的。
但是,这是在使用绑定的中心点,有在 一些发布/订阅机制的结合,这是听那些PropertyChanged
事件和情况做了更新 视图的相关属性绑定已经改变。
这里是更多的信息:
0
INotiyfyPropertyChanged
- 我们在视图模型中使用,以便在出现在用户界面中发生的任何变化,此属性将反映这些变化这个属性。
相关问题
- 1. 什么时候需要实现INotifyPropertyChanged?
- 2. 为什么依赖属性?
- 3. WPF/Silverlight:为什么动画类需要依赖属性?
- 4. 为什么我们应该实际使用依赖属性?
- 5. 与INotifyPropertyChanged相互依赖的属性
- 6. 如何使用INotifyPropertyChanged实现DataTable属性
- 7. ViewModel for Windows 8应用程序中的依赖项属性与INotifyPropertyChanged
- 8. 为什么需要锁定来实现只读int属性?
- 9. Prism中viewmodel内部的依赖属性
- 10. 依赖属性未设置ViewModel
- 11. 为什么我们需要依赖管理的复杂性
- 12. 依赖属性重入(或:为什么这个工作)
- 13. WPF MVVM改变viewmodel调用旧viewmodel依赖属性
- 14. 目标属性必须是依赖属性 - 为什么?
- 15. 我是否需要使用WeakReference来实现循环依赖?
- 16. 什么是WPF中的依赖属性
- 17. 使用依赖项属性
- 18. 使用依赖属性
- 19. 绑定静态属性并实现INotifyPropertyChanged
- 20. 什么是依赖注入,为什么要使用它?
- 21. JavaScript中的“依赖实现”是什么?
- 22. 需要依赖
- 23. 为什么首先需要GUID属性?
- 24. proot需要作为依赖?
- 25. 什么是依赖属性?它有什么用途?
- 26. 使用EF Code-First时是否需要实现INotifyPropertyChanged?
- 27. 为什么我的viewmodel属性最终为null或零?
- 28. 依赖属性
- 29. 依赖属性
- 30. 注册属性作为依赖属性