我有一个实现接口ClassA
的属性ObservableCollection
INotifyPropertyChanged
在我的窗口代码隐藏中,我声明了 a ClassA variable
,并在 Main() 方法中对其进行了初始化。
我希望variable.PropertyChanged
会有一个 WPF 事件连接到它,但显然该PropertyChanged
事件仍然为空
我有一个实现接口ClassA
的属性ObservableCollection
INotifyPropertyChanged
在我的窗口代码隐藏中,我声明了 a ClassA variable
,并在 Main() 方法中对其进行了初始化。
我希望variable.PropertyChanged
会有一个 WPF 事件连接到它,但显然该PropertyChanged
事件仍然为空
当您绑定到您的对象时,WPF 将订阅 PropertyChanged 事件。这是数据绑定工作的核心方式。
它实际上是通过PropertyChangedEventManager使用WPF中的WeakEvent 模式来实现的。
我不确定这是否能准确回答您的问题,但我有类似的经历,并在此处写了博客。
本质上,确保在绑定发生时 DataContext 不为空,以便 PropertyChanged 事件可以返回 UI ...