繁体   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