В Windows Forms добавить shortcut для пункта меню можно было так:
в свойствах для пункта меню нужно было выбрать нужный toolStripMenuItem (например Exit), вызвать его свойства, нажав на нем правую кнопку мыши и выбрав Properties, и в Свойствах найти пункт Text. Далее в тексте добавить знак ‘&’ перед буквой с горячей клавишей. Например для Exit это поле выглядело бы так: ‘E&xit‘.
Получается так:
В случае же с Windows Presentation Foundation (WPF) все почему-то по другому.
Здесь нужно в свойствах этого элемента найти пункт Header и там ввести E_xit.
То же самое можно было ввести в редакторе XAML, если это удобнее:
<MenuItem x:Name="exitToolStripMenuItem" Header="E_xit"/>
Почитал статью про горячие клавиши в WPF и мне показалось, что автор слишком все усложняет, поэтому я стал дальше искать информацию на эту тему. Если в приложении достаточно использование стандартных горячих клавиш, то можно использовать класс ApplicationCommands:
Для начала в XAML нужно прописать привязку горячих клавиш и вызываемых команд:
<Window x:Class="WpfHotKeysDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Window.CommandBindings> <CommandBinding Command="ApplicationCommands.New" Executed="Executed_New" CanExecute="CanExecute_New"/> </Window.CommandBindings> <Window.InputBindings> <KeyBinding Command="ApplicationCommands.New" Gesture="Ctrl+N"/> </Window.InputBindings> <Grid> <Label Content="Горячая клавиша [Ctrl+N]" /> </Grid> </Window>
Теперь прописать код для обработки этих команд:
public void Executed_New(object sender, ExecutedRoutedEventArgs e) { MessageBox.Show("Вызов команды 'New'"); } public void CanExecute_New(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; }
Еще можно комбинацию клавиш добавить следующим образом:
<Window.InputBindings>
<KeyBinding Command="Save" Key="S" Modifiers="Control"/>
</Window.InputBindings>
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024
- VSCode: Найти и удалить элементы xml - 29.10.2024