WPF提供了一个GridSplitter控件,该控件可以像其他Contorls一样添加到Grid元素的单元格当中,特殊的是它将自动与最接近的网格线整合在一起,当拖动GridSplitter控件时,单元格的宽度和高度将会发生改变。Xmal源码如下:
<Window x:Class="分割窗体.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Background="Black" Grid.Column="0" /> <GridSplitter HorizontalAlignment="Right" VerticalAlignment="Stretch" Grid.Column="1" ResizeBehavior="PreviousAndNext" Width="5" Background="#FFBCBCBC"/> <TextBlock Background="White" Grid.Column="2" /> </Grid> </Window>
效果图如下,中间的灰色条可以拖动,并且拖动过程中左边和右边的TextBlock控件会进行自动调整
