Wpf 调用绑定元素的属性已更改

Wpf 调用绑定元素的属性已更改,wpf,mvvm,inotifypropertychanged,Wpf,Mvvm,Inotifypropertychanged,“我的视图模型”为其使“我的视图”可用的属性实现INotifyPropertyChanged。它使不实现INotifyPropertyChanged的对象集合可用 我的集合绑定到视图中的ItemControl,并使用ItemTemplate以独立方式显示每个项目。项目模板已绑定到“我的集合”成员的“名称”属性 当集合成员的属性发生更改时,如何告知视图进行更新?必须为集合成员实现INotifyPropertyChanged。也可以在ViewModel中重置集合: public void Reset

“我的视图模型”为其使“我的视图”可用的属性实现INotifyPropertyChanged。它使不实现INotifyPropertyChanged的对象集合可用

我的集合绑定到视图中的ItemControl,并使用ItemTemplate以独立方式显示每个项目。项目模板已绑定到“我的集合”成员的“名称”属性


当集合成员的属性发生更改时,如何告知视图进行更新?

必须为集合成员实现INotifyPropertyChanged。也可以在ViewModel中重置集合:

public void Reset() {
    List<TestData> temp = YourCollection;
    YourCollection = null;
    YourCollection = temp;
}
public void Reset(){
List temp=YourCollection;
YourCollection=null;
你的收集=温度;
}

您需要为集合中的对象实现
INotifyPropertyChanged
(推荐方法),或者您可以通过以下方式手动刷新绑定

myItemsControl.GetBindingExpression(
     ItemsControl.ItemsSourceProperty).UpdateTarget();
如果您在ViewModel中,您可能能够在Collection类上引发一个
PropertyChanged
事件,如下所示,尽管我不确定这是否会更新单个项目

// My PropertyChanged method is usually called RaisePropertyChanged
RaisePropertyChanged("MyCollection");  
您也可以按照Mirimon的建议进行操作,将值设置为null,然后再返回,尽管我个人建议如果可能的话使用不同的方法