WPF教程之 GridSplitter控件
本文整理自网络,侵删。
面板控件:GridSplitter控件
正如您在前面的文章中看到的那样,Grid面板可以很容易地将可用空间划分为单个单元格。使用列和行定义,您可以轻松确定每行或列应占用多少空间,但如果您希望允许用户更改此内容,该怎么办?这是GridSplitter控件发挥作用的地方。
只需将GridSplitter添加到Grid中的列或行中,并使用适当的空间量,例如5个像素。然后,它将允许用户将其从一侧向另一侧或上下拖动,同时更改其每侧上的列或行的大小。这是一个例子:
<Window x:Class="WpfTutorialSamples.Panels.GridSplitterSample" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="GridSplitterSample" Height="300" Width="300"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="5" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <TextBlock FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Left side</TextBlock> <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" /> <TextBlock Grid.Column="2" FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Right side</TextBlock> </Grid></Window>
正如您所看到的, 我只是创建了一个网格, 其中包含两个同样宽的列, 中间有一个5像素列。每边都只是一个 textblock 控件来说明这一点。从屏幕截图中可以看到, 网格拆分器将呈现为两列之间的分界线, 一旦鼠标在其上方, 光标就会被更改以反映其大小。
水平GridSplitter
网格拆分器是非常容易使用, 当然, 它也支持水平分裂。事实上, 您几乎不需要更改任何内容, 使其水平而不是垂直工作, 如下例所示:
<Window x:Class="WpfTutorialSamples.Panels.GridSplitterHorizontalSample" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="GridSplitterHorizontalSample" Height="300" Width="300"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="5" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBlock FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Top</TextBlock> <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" /> <TextBlock Grid.Row="2" FontSize="55" HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap">Bottom</TextBlock> </Grid></Window>
正如您所看到的, 我只是将列更改为行, 在网格拆分器上, 我定义了 '高度' 而不是 '宽度'。网格拆分器自己计算其余的部分, 但如果没有, 则可以在其上使用ResizeDirection 属性将其强制进入 Rows 或 Columns 模式。
标签:WPF
相关阅读 >>
WPF教程之 延迟加载treeview项目
WPF教程之 取消backgroundworker
WPF教程之 带有gridview的listview
WPF教程之 listview过滤
WPF教程之 怎么做一个富文本编辑器
WPF教程之 WPF面板简介
WPF教程之 flowdocumentscrollviewer控件
WPF教程之 listview排序
WPF教程之 treeview 选中展开 状态
WPF教程之 创建一个游戏区域
更多相关阅读请进入《WPF》频道 >>

C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
猜你喜欢
联络方式:
400-123-789
邮箱:xiachao@163.com
Q Q:12345678