Understand the WPF KeyDown and KeyUp event handlers. Test keys with the Key property.
KeyDown. Applications sometimes need to access keyboard commands. This helps usability. With the KeyDown event handler, we can listen for key presses, like "function keys" like F5 for example.Controls
Example. Let us begin with a new WPF program. Please add a KeyDown event handler to the Window element. Let Visual Studio create Window_KeyDown by pressing Enter. Then, add some code to the event handler.
KeyEventArgs: In the Window_KeyDown method, the KeyEventArgs is important. From it, we access the key that was pressed.
Key: This is the property that tells us what key was pressed. In this example, we test against the Key.F5 constant.
Tip: When the user presses F5, the window title will change to a special message. In many programs, like web browsers, F5 means "reload."
Example markup: XAML
Title="MainWindow" Height="350" Width="525"
Example code: C#
/// Interaction logic for MainWindow.xaml
public partial class MainWindow : Window
private void Window_KeyDown(object sender, KeyEventArgs e)
// ... Test for F5 key.
if (e.Key == Key.F5)
this.Title = "You pressed F5";
KeyBinding. More complicated key presses are handled with "gestures" in WPF. We can specify commands with KeyBinding elements. On MenuItems, we can specify InputGestureText. With a simple KeyDown method, we cannot easily handle complex commands.Menu
Summary. With KeyDown, we can implement simple keyboard commands in WPF programs. We used the Key property to test a KeyEventsArg object. Often the simplest solution is best. But for more complex requirements, like gestures, KeyBindings are needed.