[英]How to bind List<object> dynamically to a DataGrid in WPF?
我希望动态地将列表绑定到数据网格,以下代码首次运行,如果再次单击添加,则不会在数据网格中填充。
private List<Item> PopulateItemList()
{
return itemLst;
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
Item item = new Item();
item.Item1 = txtItem.Text;
itemLst.Add(item);
grdItem.ItemsSource = PopulateItemList();
}
private List<Item> itemLst = new List<Item>();
private void Page_Loaded(object sender, RoutedEventArgs e)
{
itemLst.Clear();
}
谢谢。
您应该使用ObservableCollection<T>
而不是List<T>
。
ObservableCollection<T>
实现了INotifyCollectionChanged
,它将告诉WPF何时添加或删除项目。
您应该使用Slaks建议的ObservableCollection。 否则,您必须先将datatgrid itemSource设置为null,然后再将其再次填充到其他值。 但我强烈建议你使用ObservableCollection,你可以在UserControl的构造函数中将它设置为datagrid的ItemSource,而不是再次设置它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.