3

在 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 资源管理器中的菜单一样,下面没有任何灰色阴影。我尝试过操纵行大小、菜单大小和其他几个属性,但我缺少一些简单的东西。

当我将 Grid 的行高设置为 20px 时,这是我不满意的结果,因为 AI 不想输入绝对高度并且 B-阴影看起来不正确,它是就像背景渐变被涂抹了.. 在此处输入图像描述 谢谢

4

2 回答 2

3

尝试使用这个:

<Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="1*"/>
</Grid.RowDefinitions>

这将导致第一行缩小到仅显示内容所需的空间。

于 2013-07-05T15:05:29.803 回答
3

您必须将菜单所在行的高度设置为Auto。像这样:

<Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="1*" />
</Grid.RowDefinitions>

当行或列的宽度或高度设置为Auto时,它只占用所需的空间。

于 2013-07-05T15:05:45.190 回答