菜单不会粘在顶部WPF C#

时间:2016-09-20 05:41:36

标签: c# .net wpf

只看你会理解的图像

当我启动程序时,第一个视图=>单击 enter image description here

最大化其形式时,其视图=>单击 enter image description here

我是WPF的新手,我不知道如何解决这个问题,这是我的代码:

<Window x:Class="WpfApplication3.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:WpfApplication3"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">

    <Grid>
        <Menu Margin="0,0,0,285">
            <MenuItem Header="File" Name="meFile"></MenuItem>
            <MenuItem Header="Edit" Name="meEdit"></MenuItem>
            <MenuItem Header="View" Name="meView"></MenuItem>
            <MenuItem Header="Project" Name="meProject"></MenuItem>
            <MenuItem Header="Build" Name="meBuild"></MenuItem>
            <MenuItem Header="Debug" Name="meDebug"></MenuItem>
            <MenuItem Header="Team" Name="meTeam"></MenuItem>
        </Menu>
    </Grid>


</Window>

2 个答案:

答案 0 :(得分:6)

  1. 完全删除Margin并使用VerticalAlignment="Top"使其与Grid一起使用。

  2. 不要使用GridDockPanel是可行的方法。例如;

    <DockPanel LastChildFill="False">
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="File" Name="meFile"></MenuItem>
            <MenuItem Header="Edit" Name="meEdit"></MenuItem>
            <MenuItem Header="View" Name="meView"></MenuItem>
            <MenuItem Header="Project" Name="meProject"></MenuItem>
            <MenuItem Header="Build" Name="meBuild"></MenuItem>
            <MenuItem Header="Debug" Name="meDebug"></MenuItem>
            <MenuItem Header="Team" Name="meTeam"></MenuItem>
        </Menu>
    </DockPanel>
    
  3. 如果您不设置Height,则可能需要设置LastChildFill = False

答案 1 :(得分:4)

您可以尝试DockPanel,如下所示..

<DockPanel>
<Menu DockPanel.Dock="Top">
    <MenuItem Header="File" Name="meFile"></MenuItem>
    <MenuItem Header="Edit" Name="meEdit"></MenuItem>
    <MenuItem Header="View" Name="meView"></MenuItem>
    <MenuItem Header="Project" Name="meProject"></MenuItem>
    <MenuItem Header="Build" Name="meBuild"></MenuItem>
    <MenuItem Header="Debug" Name="meDebug"></MenuItem>
    <MenuItem Header="Team" Name="meTeam"></MenuItem>
</Menu>
<StackPanel></StackPanel>

您也可以参考here