MasterDetailsView 不更新 INotifyPropertyChanged 事件
MasterDetailsView not updating on INotifyPropertyChanged events
我正在使用 UWP 社区工具包中的 MasterDetailsView。
数据由我的 custom ObservableCollection<T>
持有。
如果我在列表中添加或删除项目,则会触发更新并且 MasterDetailsView
显示新列表。
但是如果更改列表的 item 的 属性(例如聊天、图像等),MasterDetailsView
将不会更新到新列表。
它只是触发 ObservableCollection<T>
.
的 PropertyChanged
事件
看起来 MasterDetailsView
没有订阅 ObservableCollection<T>
的 PropertyChanged
事件。
有办法解决这个问题吗?
=> Link to my implementation of the MasterDetailsView
(.xaml)
在绑定
中设置绑定Mode = OneWay
ItemsSource="{x:Bind chatsList, Mode = OneWay}"
Chat="{x:Bind chat, Mode = OneWay}"
Client="{x:Bind client, Mode = OneWay}"
我不确定是不是这个,但是如果你在列表项中更改 属性 的值 - observables 不能 "see" 它。集合可以看到您何时添加或删除某些内容,因为此对象属于它们并且它们不知道存储项目的实现。
尝试对已更改的项目调用 PropertyChanged。我觉得应该可以。
我正在使用 UWP 社区工具包中的 MasterDetailsView。
数据由我的 custom ObservableCollection<T>
持有。
如果我在列表中添加或删除项目,则会触发更新并且 MasterDetailsView
显示新列表。
但是如果更改列表的 item 的 属性(例如聊天、图像等),MasterDetailsView
将不会更新到新列表。
它只是触发 ObservableCollection<T>
.
PropertyChanged
事件
看起来 MasterDetailsView
没有订阅 ObservableCollection<T>
的 PropertyChanged
事件。
有办法解决这个问题吗?
=> Link to my implementation of the MasterDetailsView
(.xaml)
在绑定
中设置绑定Mode = OneWay
ItemsSource="{x:Bind chatsList, Mode = OneWay}"
Chat="{x:Bind chat, Mode = OneWay}"
Client="{x:Bind client, Mode = OneWay}"
我不确定是不是这个,但是如果你在列表项中更改 属性 的值 - observables 不能 "see" 它。集合可以看到您何时添加或删除某些内容,因为此对象属于它们并且它们不知道存储项目的实现。
尝试对已更改的项目调用 PropertyChanged。我觉得应该可以。