第一章已经简单介绍过这个容器,这一节详细介绍。
Grid一般是用表格(Grid.Row 和Grid.Column )的,比StackPanel更细致一些,但是,这么玩很麻烦,先横着竖着定义一大堆,然后把元素指定其表格位置,即插入数据,和我们平常习惯的HTML表格不太一样,甚至更麻烦了。
原因如下:Html空单元格要放占位符,这样会放很多;Grid玩法则是用什么元素就指定单元格位置,不用的单元格默认是空,不用指定。另外,Grid单元格中的多个控件可以按照Z轴堆叠,这个顺序是由控件在xaml上的出现顺序决定的。
Grid列宽的定义:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<DockPanel Grid.IsSharedSizeScope="True">
<Grid DockPanel.Dock="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Location" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Rank" />
<ColumnDefinition Width="Auto" />
<Border Grid.Column="0" Grid.Row="0" BorderThickness="1"
Background="LightGray" BorderBrush="Gray">
<TextBlock>Title</TextBlock>
</Border>
<Border Grid.Column="1" Grid.Row="0" BorderThickness="1"
Background="LightGray" BorderBrush="Gray">
<TextBlock>Location</TextBlock>
</Border>
<Border Grid.Column="2" Grid.Row="0" BorderThickness="1"
Grid.ColumnSpan="2"
Background="LightGray" BorderBrush="Gray">
<TextBlock>Rank</TextBlock>
</Border>
<FrameworkElement Grid.Column="3"
Width="{DynamicResource {x:Static SystemParameters.ScrollWidthKey}}" />
</Grid>
<ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Location" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Rank" />
</Grid.ColumnDefinitions>
</Grid>
</ScrollViewer>
</DockPanel>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Location" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Rank" />
<ColumnDefinition Width="Auto" />
<Border Grid.Column="2" Grid.Row="0" BorderThickness="1"
Grid.ColumnSpan="2"
Background="LightGray" BorderBrush="Gray">
<TextBlock>Rank</TextBlock>
</Border>
Width="{DynamicResource {x:Static SystemParameters.ScrollWidthKey}}" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Location" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Rank" />原文:http://www.cnblogs.com/lonelyxmas/p/4962806.html