我的視圖模型實現了INotifyPropertyChanged,使其可用於我的視圖的屬性。它使可用的對象集合不會實現INotifyPropertyChanged。在綁定元素上調用屬性
我的集合在我的視圖中綁定到ItemControl,ItemTemplate用於獨立顯示每個項目。項目模板綁定到我的集合成員的「名稱」屬性。
如何告訴我的視圖更新我的收藏成員的屬性更改?
我的視圖模型實現了INotifyPropertyChanged,使其可用於我的視圖的屬性。它使可用的對象集合不會實現INotifyPropertyChanged。在綁定元素上調用屬性
我的集合在我的視圖中綁定到ItemControl,ItemTemplate用於獨立顯示每個項目。項目模板綁定到我的集合成員的「名稱」屬性。
如何告訴我的視圖更新我的收藏成員的屬性更改?
你需要或者實施INotifyPropertyChanged
爲對象的集合(推薦的方法),也可以手動刷新的東西的結合就像
myItemsControl.GetBindingExpression(
ItemsControl.ItemsSourceProperty).UpdateTarget();
如果您在ViewModel中,您可能可以在您的Collection類中引發以下PropertyChanged
事件,但我不確定是否會更新單個項目
// My PropertyChanged method is usually called RaisePropertyChanged
RaisePropertyChanged("MyCollection");
你也可以做Mirimon的建議,並將其值設爲null,然後再返回,儘管我個人建議採用不同的方法。
您必須爲集合成員實現INotifyPropertyChanged。或者你可以在視圖模型重置您的收藏:
public void Reset() {
List<TestData> temp = YourCollection;
YourCollection = null;
YourCollection = temp;
}