2014-02-27 62 views
0

我有我的WPF UI上各种按钮的CTRL + SHIFT + A,CTRL + SHIFT + B等的键盘组合。突出显示键盘快捷键上的按钮

我有一个要求,当用户按下CTRL + SHIFT时,我需要在每个按钮的文本上突出显示相应的字母,这又会帮助用户轻松确定哪个字母表适用于哪个选项。

我几乎用完了所有的26个字母。所以我不能要求用户记住每个选项。

有没有办法我可以做到这一点,有人可以请帮助。

感谢

+0

我建议你使用'Menu'来代替遍布你的应用程序的按钮。每个'MenuItem'都有一个'InputGestureText',你可以使用它来显示哪个快捷键用于该项目。人们*知道如何使用菜单*以及如何发现他们的快捷方式。你所建议的将是非常不直观的。 –

+0

我也有很多菜单。因此,我选择了CTRL + SHIFT组合,因为所有ALT组合都已被占用。 – Sandepku

回答

1

也许最好的方法是定义一个定制Window,例如ShortCutWindow

您可能希望使用它来定义附加属性,该属性可以添加到所有控件中。 例如

<ShortCutWindow ....> 
    <Button ShortCutWindow.DisplayShortCut="K"/> 
    .... 
</ShortCutWindow> 

在窗口添加处理程序(也许OnPreviewKeyDown),所以当检测Ctrl-Shift这一点,那么它通过所有的控制迭代,发现附加属性和呈现的工具提示。

+0

这听起来不错..但我有一个小问题..如果我有一些工具提示内容,我希望显示帮助文本,这将取代书面..请纠正我,如果我错了。 (可能是我也可以模板,但它仍然是一次一个..) – Sandepku

+0

这将是这种情况,如果您更换'Button.Tooltip',但我实际上期望您只需添加一个新的工具提示到Button的Adorner层。请参阅http://msdn.microsoft.com/en-us/library/ms743737(v=vs.110).aspx – AlSki

+0

,这使得很多有意义的人..谢谢 – Sandepku