问题
Question
I would like to assign the keyboard shortcut Ctrl + , (control plus comma) to the "Preferences..." menu item. How do I do that?
There is a Key.OemComma
in the Key enumeration. I have used Key.OemComma
as shown in the code sample below. That works fine functionality-wise. But GUI-wise: the menu item is displayed as
- Preferences (Ctrl+OemComma)
instead of
- Preferences (Ctrl+,)
Sample Code
InputGestureCollection keyInputs = new InputGestureCollection();
keyInputs.Add(new KeyGesture(Key.OemComma, ModifierKeys.Control));
preferencesCommand = new RoutedUICommand("Preferences...", "Preferences", typeof(MyCommands), keyInputs);
回答1:
I think the KeyGesture constructor that takes a display string would work. You could call it like this:
InputGestureCollection keyInputs = new InputGestureCollection();
keyInputs.Add(new KeyGesture(Key.OemComma, ModifierKeys.Control, "Ctrl+,"));
preferencesCommand = new RoutedUICommand("Preferences...", "Preferences", typeof(MyCommands), keyInputs);
来源:https://stackoverflow.com/questions/3335378/how-to-assign-ctrl-control-plus-comma-as-the-keyboard-shortcut-to-a-wpf-menu