gpt4 book ai didi

c# - 在 WPF 中使用 DataTable 和 DataGrid 时出现 System.Windows.Data 错误

转载 作者:行者123 更新时间:2023-11-30 18:43:36 24 4
gpt4 key购买 nike

我使用 WPFToolkit 的 DataGrid 来显示一些数据。

DataTable 在 myfile.xaml.cs 中初始化为

myTable = new DataTable();
DataColumn col;
col = new DataColumn();
col.DataType = System.Type.GetType("System.Int64");
col.ColumnName = "ID";
col.ReadOnly = true;
col.Unique = false;
myTable.Columns.Add(col);

col = new DataColumn();
col.DataType = System.Type.GetType("System.String");
col.ColumnName = "Name";
col.ReadOnly = true;
col.Unique = false;
myTable.Columns.Add(col);

等等。

按照这里的建议我使用

myGrid.ItemsSource = myTable.DefaultView;

在 myfile.xaml.cs 中。

在 myfile.xaml 中我只定义了

<my:DataGrid Name="myGrid" xmlns:my="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"/>

当我用

添加一个条目到表中时
DataRow row = myTable.NewRow();
row["ID"] = 123;
row["Name"] = "MyName";

Action action = () => myTable.Rows.Add(row);
Dispatcher.Invoke(action);

条目已正确添加到 GUI 中的网格,但是我收到以下错误:

System.Windows.Data Error: 39 : BindingExpression path error: 'ID' property not found on 'object' ''Object' (HashCode=29890231)'. BindingExpression:Path=ID; DataItem='Object' (HashCode=29890231); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
System.Windows.Data Error: 39 : BindingExpression path error: 'Name' property not found on 'object' ''Object' (HashCode=29890231)'. BindingExpression:Path=Name; DataItem='Object' (HashCode=29890231); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')

那么我该如何解决这个错误呢?有什么提示吗?

谢谢。

最佳答案

我认为这与您执行代码的顺序有关。尝试改变这个:

DataRow row = myTable.NewRow();
row["ID"] = 123;
row["Name"] = "MyName";

Action action = () => myTable.Rows.Add(row);
Dispatcher.Invoke(action);

进入这个:

DataRow row = myTable.NewRow();
myTable.Rows.Add(row);
row["ID"] = 123;
row["Name"] = "MyName";

即: 在将项目添加到行之前将行添加到数据表

关于c# - 在 WPF 中使用 DataTable 和 DataGrid 时出现 System.Windows.Data 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com