【发布时间】:2013-04-17 23:46:03
【问题描述】:
我正在 Windows Phone 8 的 WPF 表单中进行一些绑定。我有一个绑定到对象本身的列表:
{Binding .}
该对象实现了 INotifyPropertyChanged 接口。在我绑定到该对象上的属性的情况下:
{Binding someProperty}
我可以调用属性更改事件,我的列表将被更新。但是,如果我绑定到我的对象本身,我如何通知列表对象已更改?
【问题讨论】:
我正在 Windows Phone 8 的 WPF 表单中进行一些绑定。我有一个绑定到对象本身的列表:
{Binding .}
该对象实现了 INotifyPropertyChanged 接口。在我绑定到该对象上的属性的情况下:
{Binding someProperty}
我可以调用属性更改事件,我的列表将被更新。但是,如果我绑定到我的对象本身,我如何通知列表对象已更改?
【问题讨论】:
简短的回答是……
1) 如果您希望它更新 - 并且 INotify... 工作 - 您需要重新组织您的视图模型 - 并绑定到“父视图模型”的属性。
2) 或者你可以组成一个“临时属性” - 例如public YourObject MySelf {get{return this;}set{}}
3) 或者在某些情况下(取决于您拥有什么),您可以将MultiBinding 与{Binding .}(这个)和其他一些属性一起使用——然后是“通知”(另一个属性)。
我已经在这里更详细地描述了这一点(第 4 点)
refreshing Value Converter on INotifyPropertyChanged
【讨论】: