所以我对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>
答案 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方法可以使项目变灰并使其不可选择