【发布时间】:2020-02-09 18:46:07
【问题描述】:
在一个列表框中,我有一个包含许多属性的对象列表,由于我一次渲染所有对象以及它的通用对象,我绑定到对象本身。
<local:ItemRenderer ItemReference="{Binding Path=."}/>
问题是当底层对象更新属性之一时,OnPropertyChanged 不会触发绑定更新。有没有办法在任何属性更改时触发绑定更新?
一个想法是拥有一个仅用于通知的属性,但底层 ObservableCollection 是 Object 类型,添加 BindingNotifier="{Binding Path=BindingNotifier"} 无法识别并且不起作用。
编辑
这似乎是一个很好的解决方案,但它不起作用
public class MyObject : INotifyPropertyChanged {
public MyObject Self
{
get { return this; }
}
那我试试绑定
<local:ItemRenderer ItemReference="{Binding Self"}/>
这适用于初始绑定,但调用
OnPropertyChanged("Self");
不更新对象。
【问题讨论】:
标签: c# .net wpf xaml data-binding