Я использую DataGrid из WPFToolkit для отображения некоторых данных.
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);
, запись добавляется правильно к сетке в графическом интерфейсе, однако я получаю следующую ошибку:
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')
Так как я могу исправить эту ошибку?Есть намеки?
Спасибо.