“父”ContextMenu上的命令

时间:2011-08-02 15:04:06

标签: c# wpf xaml contextmenu

我正在使用子菜单在代码后面创建一个上下文菜单。我希望顶级菜单项在按下时充当命令,但是当我添加子菜单项时,命令行为似乎由扩展行为接管。我该如何解决这个问题?

MenuItem item = new MenuItem();
item.Command = DoSomething;
item.Header = "Parent";

MenuItem subItem = new MenuItem();
subItem.Command = DoSomethingElse;
subItem.Header = "Child";

item.Items.Add(subItem);
ContextMenuItems.Add(item);
<Button>
    <Button.ContextMenu>
        <ContextMenu ItemsSource="{Binding ContextMenuItems}" />
    </Button.ContextMenu>
</Button>

<CommandBinding Command="{x:Static DoSomething}"
                Executed="DoSomethingExecuted"/>

<CommandBinding Command="{x:Static DoSomethingElse}"
                Executed="DoSomethingElseExecuted"/>

1 个答案:

答案 0 :(得分:4)

  

我希望顶级菜单项在按下时作为命令

你永远不应该这样做。

这是指导方针,一致性和用户期望