WPF中ViewModel是否应该继承DependencyObject?

2024-05-14

我尝试创建一个简单的UserControl在 WPF 中使用 MVVM。现在我需要为UserControl,所以我尝试在中创建依赖属性UserControlViewModel(我不想处于代码隐藏状态)。

为了创建依赖属性UserControlViewModel我需要继承自DependencyObject。继承是一个好的做法吗DependencyObject in UserControlViewModel?也就是说,遵循 MVVM 来设计一个好的方法吗?UserControl?


如果您创建了一个具有您希望其属性的自定义控件bindable(例如以下代码),您cannot use INotifyPropertyChanged你呢must use a DependencyObject.

<MyUserControl MyDependencyProperty="{Binding PropertyPath}"  />

但使用时DependencyObjects你应该记住:

  1. DependencyObjects未标记为可序列化。
  2. The DependencyObject类覆盖并密封了两者Equals()GetHashCode()方法。
  3. A DependencyObject具有线程亲和力 - 它 只能在创建它的线程上访问。

    • 要查看讨论视图模型中 INPC 和 DP 实现的良好 MVVM 示例,请参阅此article http://social.technet.microsoft.com/wiki/contents/articles/13536.easy-mvvm-examples-in-extreme-detail.aspx.

    • 有关 INPC 与 DP 辩论的更多信息,请阅读这个博客 http://kentb.blogspot.co.uk/2009/03/view-models-pocos-versus.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF中ViewModel是否应该继承DependencyObject? 的相关文章

随机推荐