小编Der*_*k E的帖子

WPF:ToolBar中嵌套的MenuItems

我正在为一个wpf应用程序开发一些XAML,但我遇到了一些麻烦,让它做我想做的事情.以下是我的XAML示例:

<!-- Tool Bar Tray -->
<ToolBarTray Name="toolBarTray1" DockPanel.Dock="Top">
    <!-- File And Edit Tools -->
    <ToolBar Name="toolBar1" Band="1" BandIndex="1">
        <!-- Regular Items -->
        <Button>A</Button>
        <Button>B</Button>
        <!-- Overflow Menu For Special Items -->
        <MenuItem ToolBar.OverflowMode="Always" Header="Special Items">
            <MenuItem Header="C"/>
            <MenuItem Header="D"/>
        </MenuItem>
    </ToolBar>
</ToolBarTray>
Run Code Online (Sandbox Code Playgroud)

当我点击工具栏的溢出按钮时,"特殊项目"菜单项旁边会出现一个小箭头,表示嵌套元素.但是,当我将鼠标悬停在"特殊项目"上或尝试单击它时,未显示MenuItems"C"和"D".

我希望MenuItem只能在菜单之外工作,但为了以防万一,我试着做直截了当的事情.在菜单中包含这些MenuItem,相反,为此菜单提供ToolBar.OverflowMode ="Always"属性会产生一些不需要的样式.箭头不再存在,需要单击"特殊项目"条目以激活子菜单,子菜单定位看起来有点偏差.

有谁知道发生了什么?

编辑:添加菜单到溢出正在产生我所要求的(大惊喜).我所追求的是一种将顶级标题和项目转换为子菜单级别的方法.我已经转向MSDN上的这个控件模板示例以获得解决方案(下面).

编辑,编辑:@gcores(评论讨论):真的吗?我错过了什么吗?

<ToolBar Name="toolBar1" Band="1" BandIndex="4"> 
    <!-- Displayed Buttons -->
    <Button>A</Button>
    <Button>B</Button>
    <!-- Special Items Menu -->
    <Menu ToolBar.OverflowMode="Always" >
        <MenuItem Style="{StaticResource MenuItemStyle}" Header="Special">
            <MenuItem Header="C"/>
            <MenuItem Header="D"/>
        </MenuItem>
    </Menu>
</ToolBar> …
Run Code Online (Sandbox Code Playgroud)

wpf toolbar menuitem

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

menuitem ×1

toolbar ×1

wpf ×1