2014-02-27 61 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