为什么我需要绑定到后面的代码中的依赖项属性,而不是在视图模型中?

时间:2016-11-29 15:06:53

标签: c# wpf

我正在编写用户控件。 Xaml&代码背后。为了绑定属性,后面的属性需要是一个依赖属性。理解。

为什么然后我可以绑定到在视图模型中实现# Use the tkplot option to edit your graph in GUI tkplot (net) 的poco,该视图模型被设置为视图的数据上下文但不在后面的代码中?

XAML:

INotifyPropertyChanged

代码背后:

XAxis="{Binding ElementName=TimeSeriesChartControl, Path=XAxis}" 

此属性必须是依赖项属性。如果我在这里实现clr属性,绑定将失败。

为什么我可以在视图模型类中实现clr属性,但不能在后面的代码中实现?

1 个答案:

答案 0 :(得分:10)

因为依赖项属性支持绑定到其他依赖项属性或实现INotifyPropertyChanged的事物。

视图模型应该尝试保持与平台无关,并且不了解视图,通过在视图模型中使用依赖项属性,您将其绑定为仅支持WPF,并且您将有关视图的信息“泄漏”回视图模型..