【发布时间】:2016-04-17 10:16:19
【问题描述】:
我有一个 WPF 应用程序,其中一个按钮是通过定义的
<Button Command="{Binding ShowSomeDialog}">
<AccessText>_Push me</AccessText>
</Button>
按下 ALT 键时,该按钮不显示带下划线的“P”,但按下 ALT-P 会调用该命令。
在另一个窗口的同一个应用程序中,完全相同的标签的行为与预期的一样,这意味着:当按下 ALT 键时,它会在 P 下划线。
在热键没有下划线的上下文中,按钮嵌套很深。简化的层次结构可以概括为
-
Window -
syncfusion:TabControlExt syncfusion:TabItemExtUserControlsyncfusion:TabControlExtsyncfusion:TabItemExt-
UserControl -
Button
如果在 '4. UserControl' 和 在添加到 '7 时不会被下划线。 UserControl' 或更深。
我找不到任何中间元素的自定义样式,尤其是没有将RecognizesAccessKey 设置为False 的样式。
有人知道要检查什么或在哪里检查吗?
【问题讨论】:
-
这个按钮是否在任何其他容器内?
-
是的。它实际上深深嵌套在包含选项卡的 den MDI 容器中,每个选项卡都包含一个包含按钮的用户控件。你的意思是这可能是一些“焦点”相关的问题?
-
容器有一个
RecognizesAccessKey属性,它会禁用访问密钥功能,请检查您的层次结构并确保它已启用。 -
感谢您的指导。我仍然无法解决这个问题。每个使用的 ContentPresenter 都将
RecognizesAccessKey设置为True。不过,我用其他信息详细说明了这个问题。也许这有帮助。
标签: wpf button keyboard-shortcuts hotkeys