我正在 Windows Phone 8 的 WPF 表单中进行一些绑定。我有一个绑定到对象本身的列表:
{Binding .}
该对象实现了 INotifyPropertyChanged 接口。在我绑定到该对象上的属性的情况下:
{Binding someProperty}
我可以调用属性更改事件,我的列表将被更新。但是,如果我绑定到我的对象本身,我如何通知列表对象已更改?
一个简短的答案是...
1)如果你想让它更新 - 并且 INotify... 工作 - 你需要重新组织你的视图模型 - 并绑定到“父视图模型”的属性。
2)或者你可以组成一个“临时属性” - 例如
public YourObject MySelf {get{return this;}set{}}
3)或者在某些情况下(取决于你有什么)你可以使用MultiBinding
({Binding .}
this)和其他一些属性——然后“通知”(另一个属性)。
我在这里(第 4 点)
在 INotifyPropertyChanged 上刷新了值转换器,对此进行了更详细的描述