Grid和Stack Panel都是布局控件,我理解为在一整个页面中划分区域,区域可以放一些文本或别的什么东西。
Grid意为网格,所以Grid划分的区域就像网格一样,可以在任意格子中放东西,而且格子里的东西可以重叠。
Stack Panel意为堆放布局,所以StackPanel里面的东西是像放箱子一样的堆起来的,不可能重叠。
<Grid>
<Grid.RowDefinitions>
<RowDefinition height = " Auto" />
<RowDefinition height = " Auto" />
<RowDefinition height = " Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitons>
<ColumnDefiniton Width = " Auto" />
<ColumnDefiniton Width = " Auto" />
<ColumnDefiniton Width = " Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Row = " 1" Grid.Column = " 1">Title1</TextBlock>
</Grid>
要使用Grid首先需要画出格子来,<Grid.RowDefinitions>
是在画格子有几行,<Grid.ColumnDefinitions>
是在画格子有几列,上面的代码画出了3行3列的格子。然后Title1写在了第2行第2列的位置。
Stack Panel就相当于堆箱子,不需要提前划分区域,只需要规定是竖着堆放还是横着堆放就可以了。默认的是竖着堆放,想要横着堆放需要输入Orientation = "Horizontal"
<StackPanel>
<StackPanel>
<StackPanel>
<TextBlock>First</TextBlock>
<TextBlock>Seconde</TextBlock>
<TextBlock>Third</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock>Forth</TextBlock>
<TextBox></TextBox>
<Button>Sixth</Button>
</StackPanel>
<StackPanel Height="200">
<Rectangle Height="100" Fill="Red"/>
</StackPanel>
</StackPanel>
</StackPanel>