2

如果我最大化或最小化窗口,如何使 WPF 应用程序的 xaml 文件中的菜单栏自动调整大小?

这是代码:

<Window x:Class="Interface.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Physiosoft" Height="750" Width="1100">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Menu Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="1" Height="23" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top" Width="1088" MinHeight="23" MinWidth="1088">
        <MenuItem Header="File">
            <MenuItem Header="Save                     Ctrl + S" />
        </MenuItem>
        <MenuItem Header="Help">
            <MenuItem Header="About Physiosoft                                F1" />
        </MenuItem>
    </Menu>
</Grid>

4

1 回答 1

2

要么在具有停靠属性的DockPanel内使用它来填充(通过,精确地不设置它),要么在宽度/高度设置为的Grid*列/行中使用它,以便它会自动调整到可用空间。

例如,这将创建一个带有主面板和可调整大小的菜单的三列布局,将其用作起点:

<Window x:Class="Interface.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Physiosoft" Height="750" Width="1100">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Menu Grid.Column="0" Grid.ColumnSpan="3" Grid.Row="1"  Name="menu1">
        <MenuItem Header="File">
            <MenuItem Header="Save                     Ctrl + S" />
        </MenuItem>
        <MenuItem Header="Help">
            <MenuItem Header="About Physiosoft                                F1" />
        </MenuItem>
    </Menu>
</Grid>
于 2012-09-11T03:29:20.053 回答