我创建了一个包含DataModel
方法的INotifyPropertyChanged
类。
然后我将ListView.ItemsSource
分配给DataModel的Observable Collection。
如果将新项目添加到Collection,则ListView会正确更新。 但是当我尝试对列表进行排序时:
IssuesList = new ObservableCollection<Issue>(IssuesList.OrderBy(x => x.name).ToList());
ListView不会自动更新(订单未更改)。 只有在我再次为列表视图设置ItemsSource时才会更改ListView。
如果更改商品订单,如何自动更新ListView? 谢谢你的帮助。
答案 0 :(得分:0)
这是因为您正在查找实例。可观察集合仅在其元素被修改时才会触发对UI的更新,但在您替换其实例时则不会触发。
您需要做的是在用新的排序集合替换集合后引发propertychanged事件。取决于您如何实施通知事件:
NotifyPropertyChanged("IssuesList");