一、什么是布局?这是一个非常简单的问题,简单来说就是把一些控件有条理的放在你想放的地方,就是把控件放在界面上合适的位置,让人看的不是乱七八糟的布局
二、WPF的布局控件有很多,不过我们常用的布局控件就有五个
1、Grid:网格。可以自定义行和列并通过行列的数量、行高列宽来调整控件的布局。近似Html中的table, 就犹如:
2、DockPanel:泊靠式面板。内部元素可以选择泊靠的方向(上下左右),类似于Winform中设置控件的Dock属性,就犹如:
3、StackPanel:栈式面板。可将包含的元素在水平或垂直方向排成一条线,当移除一个元素后,后面的元素会自动向前填充空缺。
4、WrapPanel:自动折行面板。内部元素在排满一行后能够自动折行,类似于Html中的流式布局。
5、Canvas:画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Windows Form 的布局方式。
三、在WPF创建的是系统默认的布局是Grid布局
1、Grid顾名思义就是“网格”,它的子控件被放在一个一个实现定义好的小格子里面,整齐配列。Grid和其他各个Panel比较起来,功能最多也最为复杂。同时此面板可承载任意元素,包括控件,图形,甚至文字。各种元素依据屏幕坐标确定位置。
那么我们就利用Grid布局做一个登陆页面,
<Grid Width=”200″ Height=”100″ >
<!–定义了两列–>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=”Auto”/>
<ColumnDefinition Width=”100*”/>
</Grid.ColumnDefinitions>
<!–定义了四行–>
<Grid.RowDefinitions>
<RowDefinition Height=”25″/>
<RowDefinition Height=”25″/>
<RowDefinition Height=”25″/>
<RowDefinition Height=”25″/>
</Grid.RowDefinitions>
<TextBlock Grid.Row=”0″ Grid.Column=”0″ TextAlignment=”Right” Text=”用户名:” Name=”UserName”/>
<!–第一行第一列–>
<TextBlock Grid.Row=”1″ Grid.Column=”0″ TextAlignment=”Right” Text=”密码:” Name=”pass”/>
<TextBlock Grid.Row=”2″ Grid.Column=”0″ TextAlignment=”Right” Text=”确认密码:” Name=”repass”/>
<Button Grid.Row=”3″ Grid.ColumnSpan=”2″ Height=”23″ Width=”100″ Content=”确认” Click=”Button_Click” Name=”btn”/>
<!–Grid.ColumnSpan=”2″:合并单元格–>
<TextBox Name=”TxtBoxName” Grid.Row=”0″ Grid.Column=”1″ Text=”” />
<!–第一行第二列–>
<PasswordBox Name=”pass1″ Grid.Row=”1″ Grid.Column=”1″/>
<!–密码框–>
<PasswordBox Name=”pass2″ Grid.Row=”2″ Grid.Column=”1″ />
</Grid>
转自:https://blog.csdn.net/jiangqingzhihe/article/details/95031836