C# · 12月 25, 2021

c# – 如何在Silverlight中创建表?

所以我想制作一个可见的桌子,每个单元格周围有一个边框,标题的背景颜色不同.我想最终在此插入控件.例如,将一个文本字段放在其中一个表格元素或一些单选按钮等中.是否有控制权?

我把它缩小到两种可能性,但它们看起来都像是“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>

当然,你可以根据自己的内容设计上述内容……