[英]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.