INotifyPropertyChanged 绑定到对象本身而不是属性时

bug*_*ixr 3 c# wpf

我正在 Windows Phone 8 的 WPF 表单中进行一些绑定。我有一个绑定到对象本身的列表:

{Binding .}
Run Code Online (Sandbox Code Playgroud)

该对象实现了 INotifyPropertyChanged 接口。在我绑定到该对象上的属性的情况下:

{Binding someProperty}
Run Code Online (Sandbox Code Playgroud)

我可以调用属性更改事件,我的列表将被更新。但是,在我绑定到对象本身的情况下,如何通知列表对象已更改?

NSG*_*aga 5

一个简短的回答是...

1)如果您希望它更新 - 并且 INotify ... 工作 - 您要么需要稍微重新组织您的视图模型 - 并绑定到“父视图模型”的属性。

2)或者你可以组成一个“临时属性” - 例如
public YourObject MySelf {get{return this;}set{}}

3),或在某些情况下(取决于你有什么),你可以使用MultiBinding{Binding .}这则“通知”(其他属性) - (这个)和其他一些财产。

我已经在此处(第 4 点在 INotifyPropertyChanged 上刷新值转换器的更多细节中对此进行了描述