#1,086 – Defining a Key Binding in XAML
June 4, 2014 1 Comment
You define a KeyBinding object to bind a key gesture (i.e. keypress) to a particular command. You can do this in code by creating a KeyBinding instance and adding it to an UI elements InputBindings collection.
You can also define a key binding in XAML, as shown below. You use a <KeyBinding> element for each key binding.
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Commands" Width="320" Height="220"> <Window.CommandBindings> <CommandBinding Command="ApplicationCommands.Open" Executed="Executed_Open" CanExecute="CanExecute_Open"/> </Window.CommandBindings> <Window.InputBindings> <KeyBinding Command="ApplicationCommands.Open" Gesture="Ctrl+O"/> </Window.InputBindings> <StackPanel/> </Window>
Here is the code-behind, containing methods for Executed and CanExecute.
public void Executed_Open(object sender, ExecutedRoutedEventArgs e) { MessageBox.Show("Executing the Open command"); } public void CanExecute_Open(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = true; }
Pingback: Dew Drop – June 4, 2014 (#1790) | Morning Dew