c# - ViewModel 上的 ObservableObject 或 INotifyPropertyChanged

标签 c# wpf visual-studio-2010

我很好奇用 ViewModels 做什么最好。是实现接口(interface) INotifyPropertyChanged 还是派生自 ObservableObject 更好。

ObservableObject 类实现了 INotifyPropertyChanged 并执行了一些无聊的代码,例如 RaisePropertyChanged

INotifyPropertyChanged 需要实现 PropertyChanged 事件。

从我的角度来看,使用 ObservableObject 似乎更合乎逻辑,但在大部分教程中,他们在其 ViewModel 上实现了 INotifyPropertyChanged 接口(interface).

您认为这是为了简单起见还是有合乎逻辑的原因?

最佳答案

ObservableObject是 Microsoft.Practices.Composite.Presentation 的一部分 - 即 Prism。它也已在 MVVM Light 中实现和 MVVM Foundation .

INotifyPropertyChanged是 System.ComponentModel 的一部分 - 即它在核心库中。

因此,如果您还没有包括 Prism 或其他框架之一,我会坚持使用 INotifyPropertyChanged。仅仅为了获得这一类而包含它似乎没有什么意义。

关于c# - ViewModel 上的 ObservableObject 或 INotifyPropertyChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10093180/

相关文章:

c# - TextBlock 内联上的 WPF 触发器

.net - WPF中的树状网格/分层网格

c# - 用户代码未处理未实现的异常

visual-studio-2010 - Resharper 与 Visual Studio 2010 的比较

sql-server - Visual Studio 数据库项目 : checking if SQL server login exists before creating it

c# - 从 SQL Server Compact 查询字段值

c# - 医学图像处理的最佳编程语言

javascript - 捆绑脚本,渲染但在 vs 2017 中发布后不起作用

c# - WPF 中私有(private)导入属性的 CA1811 警告

c# - 如何将此 T-SQL 语句转换为 linq