我的DataGrid以下列方式从DataView接收数据:
myDataGrid.ItemsSource = myDataTable.AsDataView();
这很好用。但是,其中一列的名称具有“/”字符。结果如下:
ABCD DEFG HIJ/K LMNO
34 7554 4234
52 7358 5454
12 3458 234
23 2345 1254
因此带有“/”的列的单元格为空。这似乎是一些约束性问题。
根据this article,斜杠是绑定路径中的保留字符。
我该怎么做才能解决这个问题?
我真的需要使用AutoGenerateColumns,因为我不确切知道输入数据(用户可以动态地更改它)。
修改
如何解决与此相关的任何问题(以及其他保留字符):
XAML
<DataGrid x:Name="dtgResult" AutoGenerateColumns="True" AutoGeneratingColumn="dtgResult_AutoGeneratingColumn" >
C#
private void dtgResult_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.Column is DataGridBoundColumn)
{
DataGridBoundColumn dataGridBoundColumn = e.Column as DataGridBoundColumn;
dataGridBoundColumn.Binding = new Binding("[" + e.PropertyName + "]");
}
}