在WPF中,如何设置菜单的高度以适应,而不是像下面灰色阴影下降的那样
<Window x:Class="XAML_Concepts.GridLayout"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="GridLayout" Height="600" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Menu IsMainMenu="True" Grid.Row="0" Grid.ColumnSpan="2" Grid.RowSpan="1" >
<MenuItem Header="File">
<MenuItem Header="_New"></MenuItem>
<MenuItem Header="_Open"></MenuItem>
</MenuItem>
<MenuItem Header="Edit"></MenuItem>
</Menu>
</Grid>
</Window>
我只是需要它来查看普通菜单,就像在Windows资源管理器中一样,没有任何灰色阴影。我试过操纵行大小,菜单大小和其他一些属性,但我遗漏了一些简单的东西。
当我将网格的行高设置为20px时,这就是我得到的,我不满意,因为AI不想输入绝对高度而B-阴影看起来不正确,就像背景渐变涂抹.. 感谢
答案 0 :(得分:3)
尝试使用:
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
这将导致第一行缩小到显示内容所需的空间。
答案 1 :(得分:3)
您必须将菜单所在行的高度设置为Auto
。像这样:
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="1*" />
</Grid.RowDefinitions>
当行或列的宽度或高度设置为Auto
时,它只占用所需的空间。