小编典典

ViewModel 中的 INotifyPropertyChanged 与 DependencyProperty

all

在 Model-View-ViewModel 架构 WPF 应用程序中实现 ViewModel
时,似乎有两个主要选择如何使其可数据绑定。我已经看到了使用DependencyPropertyView 将要绑定的属性的实现,并且我看到了
ViewModel 的实现INotifyPropertyChanged

我的问题是我什么时候应该更喜欢其中一个?有性能差异吗?将 ViewModel 依赖项提供给 WPF 真的是一个好主意吗?在做出设计决定时我还需要考虑什么?


阅读 83

收藏
2022-03-29

共1个答案

小编典典

Kent 写了一篇关于这个主题的有趣博客:View Models: POCOs vs DependencyObjects

简短的摘要:

  1. DependencyObjects 未标记为可序列化
  2. DependencyObject 类覆盖并封装了 Equals() 和 GetHashCode() 方法
  3. DependencyObject 具有线程亲和性——它只能在创建它的线程上访问

我更喜欢 POCO 方法。可以在此处找到实现 INotifyPropertyChanged 接口的 PresentationModel(又名
ViewModel)的基类:http:
//compositeextensions.codeplex.com

2022-03-29