将新项目添加到列表时,ListView ItemSsource 和 RaisePropertyChanged 不起作用
ListView ItemSource and RaisePropertyChanged not wroking when adding new items to the list
我有一个 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,但它们未显示在 xaml 页面上:/
有什么想法吗?
您应该改用 ObservableCollection<string>
。它实现了对通知(通过接口 INotifyCollectionChanged)UI 更改的支持。
private ObservableCollection<string> _ItemsList;
public ObservableCollection<string> ItemsList
{
get
{
return _ItemsList;
}
set
{
_ItemsList = value;
RaisePropertyChanged("ItemsList");
}
}
我有一个 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,但它们未显示在 xaml 页面上:/
有什么想法吗?
您应该改用 ObservableCollection<string>
。它实现了对通知(通过接口 INotifyCollectionChanged)UI 更改的支持。
private ObservableCollection<string> _ItemsList;
public ObservableCollection<string> ItemsList
{
get
{
return _ItemsList;
}
set
{
_ItemsList = value;
RaisePropertyChanged("ItemsList");
}
}