在WPF中创建菜单栏?

问题描述 投票:0回答:5

我想在我的 WPF 应用程序中创建一个与 Windows 窗体中的菜单栏相同的菜单栏。

我该怎么做?

WPF 控件工具箱中的菜单选项仅给出一个空白栏。

c# wpf xaml
5个回答
251
投票
<DockPanel>
    <Menu DockPanel.Dock="Top">
        <MenuItem Header="_File">
            <MenuItem Header="_Open"/>
            <MenuItem Header="_Close"/>
            <MenuItem Header="_Save"/>
        </MenuItem>
    </Menu>
    <StackPanel></StackPanel>
</DockPanel>

50
投票

是的,菜单为您提供了栏,但它没有为您提供任何可放入栏中的items。你需要类似的东西(来自我自己的项目之一):

<!-- Menu. -->
<Menu Width="Auto" Height="20" Background="#FFA9D1F4" DockPanel.Dock="Top">
    <MenuItem Header="_Emulator">
    <MenuItem Header="Load..." Click="MenuItem_Click" />
    <MenuItem Header="Load again" Click="menuEmulLoadLast" />
    <Separator />
    <MenuItem Click="MenuItem_Click">
        <MenuItem.Header>
            <DockPanel>
                <TextBlock>Step</TextBlock>
                <TextBlock Width="10"></TextBlock>
                <TextBlock HorizontalAlignment="Right">F2</TextBlock>
            </DockPanel>
        </MenuItem.Header>
    </MenuItem>
    :

11
投票
<StackPanel VerticalAlignment="Top">
    <Menu Width="Auto" Height="20">
        <MenuItem Header="_File">
            <MenuItem x:Name="AppExit" Header="E_xit" HorizontalAlignment="Left" Width="140" Click="AppExit_Click"/>
        </MenuItem>
        <MenuItem Header="_Tools">
            <MenuItem x:Name="Options" Header="_Options" HorizontalAlignment="Left" Width="140"/>
        </MenuItem>
        <MenuItem Header="_Help">
            <MenuItem x:Name="About" Header="&amp;About" HorizontalAlignment="Left" Width="140"/>
        </MenuItem>
    </Menu>
    <Label Content="Label"/>
</StackPanel>

3
投票
<Container>
    <Menu>
        <MenuItem Header="File">
            <MenuItem Header="New">
               <MenuItem Header="File1"/>
               <MenuItem Header="File2"/>
               <MenuItem Header="File3"/>
            </MenuItem>
            <MenuItem Header="Open"/>
            <MenuItem Header="Save"/>
        </MenuItem>
    </Menu>
</Container>

0
投票

没有子菜单、回调和工具提示的菜单栏是不完整的:

<DockPanel>
    <Menu DockPanel.Dock="Top">
        <MenuItem Header="_File">
            <MenuItem Header="_Close" Click="MenuItem_Close_Click">
                <MenuItem.ToolTip>
                    <ToolTip Content="Close this application" />
                </MenuItem.ToolTip>
            </MenuItem>
        </MenuItem>
        <MenuItem Header="_Help">
            <MenuItem Header="_About" Click="MenuItem_About_Click" />
        </MenuItem>
    </Menu>
    <StackPanel>
       ... remainder of items for the form ...
© www.soinside.com 2019 - 2024. All rights reserved.