例如, 我有一个整数1 - 10的集合。 我想在silverlight中的datagrid中动态显示4列(可以是5,6,7列)。 如何将集合绑定到datagrid以实现以下目的?
C1 C2 C3 C4
R1 1 2 3 4
R2 5 6 7 8
R3 9 10
干杯
答案 0 :(得分:1)
不幸的是,答案很可能是DataGrid不是这项工作的正确工具。 DataGrid旨在显示表格数据,就像电子表格一样,因此包装并不是设计的一部分。
幸运的是,Silverlight(以及Silverlight Toolkit)确实为您提供了完成此类操作所需的工具。 ItemsControl专门用于创建数据列表的自定义视图。由于默认的Silverlight工具包不包含“WrapPanel”,因此您还需要获取包含一个的优秀Silverlight Toolkit。
然后,您可以组合ItemsControl和WrapPanel来获取数据包装。
<ItemsControl ItemsSource="{Binding NumbersList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<controlsToolkit:WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>