我英语不好,因为我不是母语人士。如果我在语言上犯了错误,我深表歉意:)
我是 C# 和 WPF 的新手,我正在尝试将 WPF DataGrid 绑定到 TwoWay 中的 DataTable。现在,当我编辑 DataGrid 中的值时,DataTable 中的数据会正确更改。当我尝试使用以下代码填充 DataTable 时:
OleDbDataAdapter adapter = new OleDbDataAdapter("a query", (a connection));
adapter.Fill(dataTable);
代码有效,DataGrid 似乎没问题。但是当我尝试这个时:
dataTable.Rows[0][1] = (some object);
显示值不变。我尝试通过以下方式检查 DataGrid 中的值:
MessageBox.Show((SomeDataGrid.Items[0] as DataRowView).Row[1].ToString());
结果没问题。我想知道为什么显示值是这样的。
这是我在 XAML 中的 DataGrid.CellStyle:
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{TemplateBinding Background}">
<DataGridDetailsPresenter HorizontalAlignment="Stretch" VerticalAlignment="Center" Content="{TemplateBinding Content}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<!-- triggers -->
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
我已经被这个问题困扰了好几天了。谢谢你的帮助!