如何解决在运行时WPF将新行添加到DataGrid
| 我有一个DataGrid并在窗口加载时填充它,如下所示:private void Window_Loaded(object sender,RoutedEventArgs e) {
var list = DbService.GetStuffsFull();
dataGrid.ItemsSource = list;
}
当我尝试通过此代码在运行时添加新行时:
Stuff item = new Stuff();
dataGrid.Items.Add(item);
我收到此错误:
操作无效,而
ItemsSource正在使用中。访问和
修改元素
改为使用ItemsControl.ItemsSource。
如何在运行时添加新行?
解决方法
如果将其作为
ItemsSource
提供,则不能修改Items
集合中的项目。您应该将项目添加到list
(已实现INotifyCollectionChanged
)中,或者应该首先通过Add
方法填充Items
属性。
错误说明很清楚,不是吗?
, 尝试做这样的事情:
var row = dataGrid.NewRow();
dataGrid.Rows.Add(row);
row[\"column1\"] = \"data1\";
row[\"column2\"] = \"data2\";
row[\"column3\"] = \"data3\";
InitializeComponent();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。