如何创建WPF数据网格而不绑定任何东西
本文关键字:网格 绑定 任何东 数据网 数据 何创建 创建 WPF | 更新日期: 2023-09-27 18:14:22
我想创建一个不绑定任何东西的数据网格。用户可以添加/删除/编辑数据,代码将以编程方式收集数据。我做了以下操作,但网格不允许我添加新行。
<DataGrid Name="dgData" CanUserAddRows="True" MinHeight="100">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1"></DataGridTextColumn>
<DataGridTextColumn Header="Column2"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
当我运行应用程序时,网格只显示标题。不像winform DataGridView给出一个空的第一行。我无法在GUI上添加新行。
您仍然需要将ItemsSource
设置(或绑定)为支持添加的空集合(实现IList
),还应该将列绑定到项目数据类型的属性(或让DataGrid
为您创建它们),否则它们将不显示任何内容
我知道我的答案很晚了,但是有人可能会来这里并从中受益。所以基本上我没有找到一种在WPF中没有绑定的情况下填充DataGrid的方法,但我找到了一种方法,可以使用动态命名的对象属性与匿名类型进行绑定。
List<object> myList = new List<object>();
dynamic obj = new ExpandoObject();
((IDictionary<String, Object>)obj)["PropertyName"] = "PropertyValue";
myList.Add(obj);
MyDataGrid.ItemsSource = myList;