我在wpf应用程序的顶部有两个网格行。菜单和工具栏。当我使用网格分割器时,它会同时切断菜单和工具栏。我想调整gridsplitter的高度,使它考虑到两个网格行的高度,并设置在工具栏的正下方。我该怎么办?下面是我的代码和问题的图片。
的数据
<Window x:Class="M4aToMP3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:M4aToMP3"
mc:Ignorable="d"
Title="M4aToMP3" Height="600" Width="800" WindowStartupLocation="CenterScreen">
<Grid Name="gridMain" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="22"></RowDefinition>
<RowDefinition Height="40"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="240"></ColumnDefinition>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<GridSplitter Name="gridSplitterMain" Grid.Column="1" HorizontalAlignment="Stretch" Width="5"/>
<Menu Name="menuMain" Grid.Row="0">
<MenuItem Header="_File"></MenuItem>
<MenuItem Header="_Edit"></MenuItem>
<MenuItem Header="_View"></MenuItem>
<MenuItem Header="_Help"></MenuItem>
</Menu>
<ToolBarTray Grid.Row="1">
<ToolBar Name="toolBarMain" Height="40">
<Button>
<Image Source="icons8-audio-file-32.png"></Image>
</Button>
<Button>
<Image Source="icons8-music-folder-32.png"></Image>
</Button>
</ToolBar>
</ToolBarTray>
</Grid>
</Window>
字符串
我读了很多关于gridsplitter控件的文章,尝试了很多不同的设置,但我还没有找到解决方案。
2条答案
按热度按时间6yoyoihd1#
最简单的方法是根本不处理
Menu
或ToolBarTray
。用DockPanel
或外部Grid
组织它们。下面是一个使用
DockPanel
的示例字符串
现在
GridSplitter
只影响它应该影响的网格列。kdfy810k2#
DockPanel可以这样使用
字符串