【问题标题】:ListView ItemSource and RaisePropertyChanged not wroking when adding new items to the list将新项目添加到列表时,ListView ItemSsource 和 RaisePropertyChanged 不起作用
【发布时间】:2016-03-05 03:32:16
【问题描述】:

我有一个 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 上:/

有什么想法吗?

【问题讨论】:

    标签: c# xaml listview binding


    【解决方案1】:

    您应该改用ObservableCollection&lt;string&gt;。这实现了对通知(通过接口INotifyCollectionChanged)UI 更改的支持。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多