for*_*yez 6 .net 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>
Run Code Online (Sandbox Code Playgroud)
当然,你可以根据自己的内容设计上述内容......