Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 是否可以仅对SourceChanged事件使用绑定?_Wpf_Binding - Fatal编程技术网

Wpf 是否可以仅对SourceChanged事件使用绑定?

Wpf 是否可以仅对SourceChanged事件使用绑定?,wpf,binding,Wpf,Binding,基本上,我希望使用WPF绑定框架“观察”数据上下文中的属性,并在该值更改时调用事件处理程序。我实际上不想将它绑定到任何目标 听起来很简单,但从我所看到的绑定过于耦合(与可视化树和各种其他位),无法灵活地使用它 有什么想法吗?绑定与可视化树关联是正确的:它们是关于将UI元素连接到数据元素。因此,如果您想为此使用绑定,您确实必须在虚拟框架元素上设置它 但是,如果WPF可以观察到该属性,那么您也可以。WPF只是使用数据上下文对象的INotifyPropertyChanged接口。因此,您不必设置绑定,

基本上,我希望使用WPF绑定框架“观察”数据上下文中的属性,并在该值更改时调用事件处理程序。我实际上不想将它绑定到任何目标

听起来很简单,但从我所看到的绑定过于耦合(与可视化树和各种其他位),无法灵活地使用它


有什么想法吗?

绑定与可视化树关联是正确的:它们是关于将UI元素连接到数据元素。因此,如果您想为此使用绑定,您确实必须在虚拟框架元素上设置它

但是,如果WPF可以观察到该属性,那么您也可以。WPF只是使用数据上下文对象的INotifyPropertyChanged接口。因此,您不必设置绑定,只需将要观察的对象强制转换为INotifyPropertyChanged,并订阅其PropertyChanged事件。在内部,这就是WPF所做的一切


(如果您关心生命周期问题,WPF提供使用弱引用的PropertyChangedEventManager。调用
PropertyChangedEventManager(dataObject,listenerObject,“WhateverPropertyYouWant”)
其中listenerObject是您要接收更改通知的对象。)

问题是我观察到的东西是一条复杂的路径。。。不要幻想自己实现这些逻辑。