DataGrid 绑定数据时,如果列名包含敏感字符,这个列的数据就不会显示,解决方法如下:
XAML代码中定义属性AutoGeneratingColumn ="datagrid_AutoGeneratingColumn"
cs代码中添加方法:
private void datagrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
string columnName = e.PropertyName;
if (e.Column is DataGridBoundColumn &&
(columnName.Contains(".") ||
columnName.Contains("\\") ||
columnName.Contains("/") ||
columnName.Contains("[") ||
columnName.Contains("]") ||
columnName.Contains("(") ||
columnName.Contains(")")))
{
DataGridBoundColumn dataGridBoundColumn = e.Column as DataGridBoundColumn;
dataGridBoundColumn.Binding = new Binding("[" + e.PropertyName + "]");
}
}
就可以解决了。