【发布时间】:2017-03-09 18:16:06
【问题描述】:
考虑到只有用户通过用户界面更新ViewModels/Models的情况,没有外部访问显示的数据。
在这种情况下,为什么 ViewModel 应该实现 INotifyPropertyChanged?
只有在外部访问数据时,我才有意义让ViewModel 实现它,以便必须以某种方式通知 UI 关于外部启动的属性更改并且您设置了 Mode=TwoWay/@ 987654327@.
我看到的大多数示例 MVVM 实现从不订阅 anythingViewModelsPropertyChangedEventHandler,但仍然实现它,只是因为 必须完成,因为它是 mvvm。
【问题讨论】:
-
考虑两个文本框链接到同一属性的示例。当 textbox1 改变时, textbox2 应该同步到它。
-
您不需要订阅任何视图模型 PropertyChangedEventHandler,这是通过使用将执行订阅的绑定来完成的。
-
我猜如果您的应用程序只输入数据,那么可能。但这是一个非常无聊的应用程序。你没有数据验证?集合永远不会拒绝输入?
-
听起来您还没有编写 MVVM 应用程序,因为当您编写时,您确实希望 UI 在应用程序状态发生变化时更新。
标签: c# wpf mvvm data-binding inotifypropertychanged