XAML menuitem可见但不可选择?

时间:2015-09-24 16:10:17

标签: c# wpf xaml

所以我对XAML非常陌生并且还在学习。我已经按照菜单和菜单上的几个教程进行了操作,但我似乎无法找到一种方法来向菜单中添加内容而不能选择它。我尝试添加一个标签,它仍然显示为可选择。我尝试将isenabled设置为false并且确实变为灰色,但仍然可以选择。我尝试关闭hittest,但也没有工作。我的猜测是,这与设置自定义样式有关,我对此一无所知。我会回到谷歌并深入研究,但同时我想在这里发帖,看看是否有人可以提供有关良好方向的见解。

编辑: 我试过的简单例子:

<Menu>
    <MenuItem Header="My Menu">
        <Label Content="Label1"/>                           //Selectable even though it's a label. I would Expect a label to not be selectable.
        <MenuItem Header="Menu Item 1"/>                    //Selectable as it should be.
        <Separator />                                       //Not selectable
        <MenuItem Header="Menu Item 2"/>
        <Label Content="Another Label" IsEnabled="False"/>  //Selectable even though it is set to IsEnabled=False.
    </MenuItem>
</Menu>

2 个答案:

答案 0 :(得分:4)

这可能比你想要的更有效。我添加了Focusable="False"IsHitTestVisible="False"。注意我必须将最后<Label>更改为<MenuItem>,因为Focusable="False"在那里没有做到这一点。

<Menu>
    <MenuItem Header="My Menu">
        <Label Content="Label1"/>
        <MenuItem Header="Menu Item 1" Focusable="False" IsHitTestVisible="False"/>
        <Separator />                                       
        <MenuItem Header="Menu Item 2"/>
        <MenuItem Header="Another Label" IsEnabled="False" Focusable="False" IsHitTestVisible="False"/>   
    </MenuItem>
</Menu>

答案 1 :(得分:0)

如果您使用命令,请查看本文Menu Control Tutorial,CanExecute方法可以使项目变灰并使其不可选择