使用ObservableCollection <t>中的数据连续更新listview

时间:2018-10-26 16:22:08

标签: c# wpf listview

我需要将一个可观察到的集合绑定到列表视图。每当observablecollection中的数据发生更改时,都必须更新此listview。 现在,我只能将observablecollection的一个元素同时绑定到listview,每当绑定第二个元素时,它将覆盖最后一个元素。 我的目的是将通过调用LoadAlarms()创建的所有数据绑定到列表视图。

These are my XAML codes:

my Alarms class

My codes in viewmodel

the fist time LoadAlarms are called, I have the result

The second time LoadAlarms are called,I have the result

我想将这两个结果都显示在列表视图中,但是我只能看到最近的更新。

2 个答案:

答案 0 :(得分:1)

  1. 您的警报类必须从NotificationObject继承,并且其属性在更改时必须执行RaisePropertyChanged。
  2. ObservableCollection应该分配一次,然后只能使用添加,删除等。
  3. 为什么您的ListView包含一个网格,而该网格又包含一个包含另一个ListView的网格?如果我要问的话,你想做什么?

希望这会有所帮助。

答案 1 :(得分:0)

每次调用LoadAlarm()时,都会用一个新的覆盖可观察的集合。

例如在构造函数中仅调用一次AlarmList = new ObservableCollection<Alarms>()