MasterDetailsView未在INotifyPropertyChanged事件上更新

时间:2017-11-26 17:46:55

标签: c# uwp windows-community-toolkit

我正在使用UWP社区工具包中的MasterDetailsView。 数据由我的custom ObservableCollection<T>保留。 如果我在列表中添加或删除项目,则会触发更新,MasterDetailsView会显示新列表。

但是,如果更改列表的item(例如聊天,图片,...)的属性,则MasterDetailsView不会更新到新列表。 它只会触发PropertyChanged的{​​{1}}事件。

ObservableCollection<T>没有订阅MasterDetailsView的{​​{1}}事件。

有没有办法解决这个问题?

=> Link to my implementation of the MasterDetailsView (.xaml)

=> Link to my implementation of the MasterDetailsView (.cs)

2 个答案:

答案 0 :(得分:1)

在绑定

中设置绑定Mode = OneWay
ItemsSource="{x:Bind chatsList, Mode = OneWay}"
Chat="{x:Bind chat, Mode = OneWay}"
Client="{x:Bind client, Mode = OneWay}"

答案 1 :(得分:0)

我不确定是不是这个,但是如果你改变列表项内的属性值 - 观察者不能“看到”它。集合可以看到您何时添加内容或删除,因为这些对象属于他们,并且他们不了解存储项的实现。

尝试在更改的项目上调用PropertyChanged。我认为它应该有用。