我正在使用UWP社区工具包中的MasterDetailsView。
数据由我的custom ObservableCollection<T>
保留。
如果我在列表中添加或删除项目,则会触发更新,MasterDetailsView
会显示新列表。
但是,如果更改列表的item(例如聊天,图片,...)的属性,则MasterDetailsView
不会更新到新列表。
它只会触发PropertyChanged
的{{1}}事件。
ObservableCollection<T>
没有订阅MasterDetailsView
的{{1}}事件。
有没有办法解决这个问题?
=> Link to my implementation of the MasterDetailsView
(.xaml)
答案 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。我认为它应该有用。