【问题标题】:ContextMenu within another ContextMenu另一个 ContextMenu 中的 ContextMenu
【发布时间】:2011-11-30 03:40:20
【问题描述】:

是否可以将 ContextMenu 放在另一个 ContextMenu 中? 我有代码可以在单击按钮时显示 ContextMenu 以及与此 ContextMenu 相关的单击事件。现在,我想在右键单击主 ContextMenu 中的任何项目时显示另一个 ContextMenu。我尝试了以下代码,但它不起作用:

<Button.ContextMenu>
    <ContextMenu Name="TestContextMenu" >
        <MenuItem Header="Item 1" StaysOpenOnClick="True" />
        <MenuItem Header="Item 2" StaysOpenOnClick="True" />
        <MenuItem Header="Item 3" StaysOpenOnClick="True" />
        <MenuItem Header="Item 4" StaysOpenOnClick="True" />
        <ContextMenu.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Remove from List" Click="subMenuRemove_Click" />
            </ContextMenu>
        </ContextMenu.ContextMenu>
    </ContextMenu>
</Button.ContextMenu>

即使将 ContextMenu 添加到每个菜单项 (MenuItem.ContextMenu) 也不起作用。

【问题讨论】:

    标签: .net wpf .net-4.0 contextmenu


    【解决方案1】:

    谁甚至会尝试右键单击菜单项并期望它具有上下文菜单?也许这就是为什么这是不可能的,无论如何,我强烈建议不要这样做,因为它违反了常见的约定。

    可以改为添加一个菜单配置对话框,或者在末尾添加一个允许按项目删除的 MenuItem。

    【讨论】:

      【解决方案2】:

      试试这个:

      <MenuItem Header="Item 4" StaysOpenOnClick="True">
      
              <MenuItem.ContextMenu>
                  <ContextMenu>
                      <MenuItem Header="Remove from List" Click="subMenuRemove_Click" />
                  </ContextMenu>
              </MenuItem.ContextMenu>
      </MenuItem>
      

      【讨论】:

      • 我已经尝试过了,但它不起作用。子 ContextMenu 永远不会出现
      • 我以为有错字,因为你有
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多