Occurs when a key is pressed while focus is on this element.
(in PresentationCore.dll)XMLNS for XAML:
public event KeyEventHandler KeyDown
<object KeyDown="KeyEventHandler" .../>
Key handling interacts with other platform features such as commanding and text composition. The KeyDown event is a lower-level text input event that might not behave as expected on certain controls. This is because some controls have control compositing or class handling that provides a higher-level version of text input handling and related events.
This event creates an alias for the Keyboard.KeyDown attached event for this class so that KeyDown is part of the class members list when UIElement is inherited as a base element. Event handlers that are attached to the KeyDown event are attached to the underlying Keyboard.KeyDown attached event and receive the same event data instance.
This example shows how to detect when the Enter key is pressed on the keyboard.
This example consists of a Extensible Application Markup Language (XAML) file and a code-behind file.
When the user presses the Enter key in the TextBox, the input in the text box appears in another area of the user interface (UI).
The following XAML creates the user interface, which consists of a StackPanel, a TextBlock, and a TextBox.
<TextBlock Width="300" Height="20">
Type some text into the TextBox and press the Enter key.
<TextBox Width="300" Height="30" Name="textBox1"
<TextBlock Width="300" Height="100" Name="textBlock1"/>
The following code behind creates the KeyDown event handler. If the key that is pressed is the Enter key, a message is displayed in the TextBlock.
private void OnKeyDownHandler(object sender, KeyEventArgs e)
if (e.Key == Key.Return)
textBlock1.Text = "You Entered: " + textBox1.Text;
Supported in: 4.5.1, 4.5, 4, 3.5, 3.0
.NET Framework Client Profile
Supported in: 4, 3.5 SP1
Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.