簡體   English   中英

如何將List <object>動態綁定到WPF中的DataGrid?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM