C# 无法在将DataView实例作为项源的WPF datagrid中显示数据

C# 无法在将DataView实例作为项源的WPF datagrid中显示数据,c#,wpf,wpftoolkit,binding,wpfdatagrid,C#,Wpf,Wpftoolkit,Binding,Wpfdatagrid,我正在使用WPF工具包中的DataGrid对象。我正在将DataGrid对象绑定到DataTable实例的默认视图,如以下代码中所声明的: WeatherGrid.ItemsSource = weatherDataTable.DefaultView; weatherDataTable有三列。第一列定义为包含字符串数据类型。其他两列定义为包含双数据类型。当应用程序退出调用声明中表示的绑定的函数时,DataGrid对象显示第一列的数据,但不显示其他列的数据。在调试器的即时窗口中键入以下内容时: (

我正在使用WPF工具包中的DataGrid对象。我正在将DataGrid对象绑定到DataTable实例的默认视图,如以下代码中所声明的:

WeatherGrid.ItemsSource = weatherDataTable.DefaultView;
weatherDataTable有三列。第一列定义为包含字符串数据类型。其他两列定义为包含双数据类型。当应用程序退出调用声明中表示的绑定的函数时,DataGrid对象显示第一列的数据,但不显示其他列的数据。在调试器的即时窗口中键入以下内容时:

((DataRowView)WeatherGrid.Items[0]).Row[1]
我得到了一个数字,但这与显示的内容不符。为什么只有第一列是可见的,如何才能使所有数据都可见?我将在下面保留DataGrid对象的XAML定义:

<toolkit:DataGrid Margin="12.726,77.71,12,0" Name="WeatherGrid" Height="500" Grid.Row="1" VerticalAlignment="Top" CanUserAddRows="False" CanUserDeleteRows="False" IsReadOnly="True" />

事实证明,对于我的第二列和第三列,我一直在使用不正确的列名。我最终希望我的DataTable是动态的,因为它可以有可变数量的列,并且我希望按日期唯一地标识每个列。因此,我附加了两个字符串,一个带有名称,另一个带有以“/”分隔的数字。这似乎导致了DataGrid对象的一些绑定问题

为了解决这个问题,我更改了字符串,该字符串用一个数字唯一地标识日期,表示年份中的日期和年份。因此,我能够显示数据


值得注意的是,在ASP.NET中绑定到GridView时,在DataTable列名中使用斜杠时不会出现此类问题。

事实上,列绑定名称区分大小写,必须与基础dataview列名完全匹配。

我也有同样的问题。结果是列名中的小数(即“.”字符)。