将新项添加到列表时,ListView ItemSource和RaisePropertyChanged不会变形

时间:2015-12-01 09:10:28

标签: c# xaml listview binding

我有一个包含以下项目的ListView:

 private List<string> _ItemsList;
 public List<string> ItemsList
 {
     get
     {
         return _ItemsList;
     }
     set
     {
         _ItemsList = value;
         RaisePropertyChanged("ItemsList");
     }
 }

在我的xaml页面上:

  <ListView Grid.Row="1"
            ItemsSource="{Binding ItemsList}" />

当页面加载时,所有项目都显示在ListView中,但是当我执行ItemsList.AddRange(ItemsList2); ItemsList中的所有项目都添加到ItemsList中,但它们未显示在xamlpage上:/

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您应该使用ObservableCollection<string>代替。这已经实现了对通知UI(通过接口INotifyCollectionChanged)UI的更改的支持。

private ObservableCollection<string> _ItemsList;
public ObservableCollection<string> ItemsList
{
  get
  {
     return _ItemsList;
  }
  set
  {
     _ItemsList = value;
     RaisePropertyChanged("ItemsList");
  }
}