我正在 Windows Phone 8 的 WPF 表单中进行一些绑定。我有一个绑定到对象本身的列表:
{Binding .}
Run Code Online (Sandbox Code Playgroud)
该对象实现了 INotifyPropertyChanged 接口。在我绑定到该对象上的属性的情况下:
{Binding someProperty}
Run Code Online (Sandbox Code Playgroud)
我可以调用属性更改事件,我的列表将被更新。但是,在我绑定到对象本身的情况下,如何通知列表对象已更改?
一个简短的回答是...
1)如果您希望它更新 - 并且 INotify ... 工作 - 您要么需要稍微重新组织您的视图模型 - 并绑定到“父视图模型”的属性。
2)或者你可以组成一个“临时属性” - 例如
public YourObject MySelf {get{return this;}set{}}
3),或在某些情况下(取决于你有什么),你可以使用MultiBinding与{Binding .}这则“通知”(其他属性) - (这个)和其他一些财产。
我已经在此处(第 4 点)在 INotifyPropertyChanged 上刷新值转换器的更多细节中对此进行了描述
| 归档时间: |
|
| 查看次数: |
535 次 |
| 最近记录: |