【问题标题】:MasterDetailsView not updating on INotifyPropertyChanged eventsMasterDetailsView 未更新 INotifyPropertyChanged 事件
【发布时间】:2017-11-27 04:33:51
【问题描述】:

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

但如果更改列表的 item 的属性(例如聊天、图像等),MasterDetailsView 不会更新到新列表。 它只是触发ObservableCollection<T>PropertyChanged 事件。

好像MasterDetailsView 没有订阅ObservableCollection<T>PropertyChanged 事件。

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

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

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

【问题讨论】:

    标签: c# uwp windows-community-toolkit


    【解决方案1】:

    在绑定中设置绑定Mode = OneWay

    ItemsSource="{x:Bind chatsList, Mode = OneWay}"
    Chat="{x:Bind chat, Mode = OneWay}"
    Client="{x:Bind client, Mode = OneWay}"
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2016-12-08
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      相关资源
      最近更新 更多