Hotkeys
Various Controls that implement ICommandSource have a HotKey property that you can set or bind to. Pressing the hotkey will execute the command bound to the Control.
1
<Menu>
2
<MenuItem Header="_File">
3
<MenuItem x:Name="SaveMenuItem" Header="_Save" Command="{Binding SaveCommand}" HotKey="Ctrl+S"/>
4
</MenuItem>
5
</Menu>
Copied!
You can also use the static methods of the HotKeyManager class to set and get hotkeys from code:
1
InitializeComponent();
2
​
3
var saveMenuItem = this.FindControl<Avalonia.Controls.MenuItem>("SaveMenuItem");
4
​
5
HotKeyManager.SetHotKey(saveMenuItem, new KeyGesture(Key.S, KeyModifiers.Control));
Copied!
See the Locating Controls section for more information on finding named Controls with the FindControl method.

Keys and Modifiers

A Hotkey must have one Key and zero or more KeyModifiers. When setting a Hotkey in XAML using the HotKey property, the string will be parsed as a KeyGesture. Enum.Parse is used to parse the key and modifiers but synonyms like Ctrl instead of Control or Win instead of Meta can be used.

Reference

Source code

Export as PDF
Copy link
Edit on GitHub