<DataGrid x:Name="myTabell2"
HorizontalAlignment="Left"
Margin="294,67,0,0"
VerticalAlignment="Top"
Height="218"
Width="137"/>
和代码隐藏C#
myTabell2.ItemsSource = LoadStringData();
与
private string[] LoadStringData()
{
return "One Two Three Four Five Six Seven Eight".Split();
}
我在http://www.c-sharpcorner.com/uploadfile/mahesh/working-with-datagrid-in-silverlight/中找到了上面的例子 他们在那里写的结果是一个值为“一”“两个”的列表.......
在我的尝试中,我没有得到值,但是“值”的长度i.d. “3”(长度为1)“3”(长度为2)“5”(长度为3)
我的问题是:我的代码中可能出现什么问题? (顺便说一下,是的,我可以用类和List或任何其他列表来完成。但是我想了解我的代码中有什么不对。为什么不简单,如果它很简单?
答案 0 :(得分:0)
您的代码无法正常工作的原因是:
1.你的xaml声明应该有:
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
2。您的DataGrid声明应如下所示:
<data:DataGrid></data:DataGrid>
这是至关重要的,因为您将使用两个不同的DataGrids,从我的角度来看,它们以不同的方式评估数组。这就是为什么您的代码会为您所使用的代码产生不同结果的原因
的更新强>
由于项目中未引用 System.Windows.Controls ,因此OP无法使用正确的程序集。