所以我想制作一个可见的桌子,每个单元格周围有一个边框,标题的背景颜色不同.我想最终在此插入控件.例如,将一个文本字段放在其中一个表格元素或一些单选按钮等中.是否有控制权?
我把它缩小到两种可能性,但它们看起来都像是“meh”:
>使用网格控件 – 我喜欢这个,但有没有办法为单元格上的边框着色(我没有找到这个)
>使用DataGrid控件 – 这个控件对于我需要的东西来说太复杂了.
我只是想在silverlight中寻找一个html风格的表,有什么想法吗?
解决方法
我使用Toolkit中的HeaderedItemsControl得到了相当不错的结果:
<c:HeaderedItemsControl ItemsSource="{Binding rowData}" x:Name="theTable"> <c:HeaderedItemsControl.Header> <Border Background="HEADER BG COLOR HERE"> <Grid Width="{Binding ActualWidth,ElementName=theTable}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="Field 1"/> <TextBlock Grid.Column="1" Text="Field 2"/> <TextBlock Grid.Column="2" Text="Field 3"/> </Grid> </Border> </c:HeaderedItemsControl.Header> <c:HeaderedItemsControl.ItemTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="{Binding Value1}"/> <TextBlock Grid.Column="1" Text="{Binding Value2}"/> <TextBlock Grid.Column="2" Text="{Binding Value3}"/> </Grid> </DataTemplate> </c:HeaderedItemsControl.ItemTemplate> </c:HeaderedItemsControl>