1

我正在使用第 3 方 WPF 控件,其 MVVM 支持依赖于它所绑定的 VM 上的依赖项属性。控件附带的示例使用派生自 DependencyObject 的 ViewModelBase 类,因此一切正常。

我的 ViewModelBase 实现了 INotifyPropertyChanged,由于各种原因,将其更改为 DependencyObject 是不现实的。

我的问题是如何将我的 ViewModels 与这个 WPF 控件一起使用?我想我需要的是在普通的旧 ViewModel 中“嵌入依赖对象”或“插入依赖属性”之类的东西。

顺便说一句,我的 MVVM 应用程序是基于接口的,即 SomeViewModel 到处都是 ISomeViewModel。

4

1 回答 1

1

一般来说,设计合理的控件不需要绑定到 a DependencyProperty,因为 DP 可以毫无问题地绑定到任何属性。因此,我将首先重新审视这是否真的是控制实现中的一个错误,并纠正它。

但是,如果您必须这样做,请意识到您将违反 MVVM -DependencyObject在 ViewModel 中使用本质上是将视图特定的框架元素注入 VM。一旦您决定可以这样做,您始终可以让您的 ViewModel 将 DependencyObject 作为属性公开,并绑定到在该 DependencyObject 上定义的 DependencyProperty,而不是直接绑定到 VM 的属性。

于 2013-02-27T02:26:39.890 回答