1

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

但是,如果更改列表中某个项目(例如聊天、图像...)的属性,MasterDetailsView则不会更新到新列表。它只是触发PropertyChanged.ObservableCollection<T>

看起来好像MasterDetailsView没有订阅 的PropertyChanged事件ObservableCollection<T>

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

=> 链接到我的MasterDetailsView(.xaml)实现

=> 链接到我的MasterDetailsView(.cs)实现

4

2 回答 2

1

Mode = OneWay在绑定中设置绑定

ItemsSource="{x:Bind chatsList, Mode = OneWay}"
Chat="{x:Bind chat, Mode = OneWay}"
Client="{x:Bind client, Mode = OneWay}"
于 2017-11-26T18:26:38.287 回答
0

我不确定是不是这样,但是如果您更改列表项内的属性值 - 可观察对象无法“看到”它。集合可以看到您何时添加或删除,因为该对象属于它们,并且它们不了解存储项目的实现。

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

于 2017-11-26T20:33:51.930 回答