I have a DBF file read into a datatable and display with a datagrid in WPF. This DBF file is special which has a column name "A.B". After binding this column, the binding expressing might trade "A" as a property of the datarowview, wile "B" is "A"'s property. Is there a way to workaround this issue?
Here is the code to recreate this issue. Just have a DataGrid names "dg" in the XAML. When press F5, it should display "Godspeed" in the first row, but nothing appears.
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("A.B");
DataRow row = dt.NewRow();
row[0] = 1;
row[1] = "Godspeed";
dt.Rows.Add(row);
DataGridTextColumn colA = new DataGridTextColumn();
colA = new DataGridTextColumn();
colA.Binding = new Binding("A.B");
colA.Header = "A.B";
dg.Columns.Add(colA);
var dv = new DataView(
dt,
"",
"ID ASC",
DataViewRowState.CurrentRows);
dg.ItemsSource = dv;
Here is a screenshot of the effect of my code:

And here is the expression exception watched by snoop. So I'm sure the issue is caused by the dot of "A.B" in the binding path.
System.Windows.Data Error: 40 : BindingExpression path error: 'A' property not found on 'object' ''DataRowView' (HashCode=60213203)'. BindingExpression:Path=A.B; DataItem='DataRowView' (HashCode=60213203); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String') Thanks,