ContentElement.KeyDown Event (System.Windows)

Switch View :
ScriptFree
ContentElement.KeyDown Event
Occurs when a key is pressed while the keyboard is focused on this element.

Namespace: System.Windows
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

Syntax

Visual Basic (Declaration)
Public Event KeyDown As KeyEventHandler
Visual Basic (Usage)
Dim instance As ContentElement
Dim handler As KeyEventHandler

AddHandler instance.KeyDown, handler

C#
public event KeyEventHandler KeyDown
C++
public:
virtual event KeyEventHandler^ KeyDown {
	void add (KeyEventHandler^ value) sealed;
	void remove (KeyEventHandler^ value) sealed;
}
J#
/** @event */
public final void add_KeyDown (KeyEventHandler value)

/** @event */
public final void remove_KeyDown (KeyEventHandler value)

JScript
In JScript, you can handle the events defined by a class, but you cannot define your own.
XAML Attribute Usage
<object KeyDown="KeyEventHandler" .../>
Routed Event Information

Identifier field

KeyDownEvent

Routing strategy

Bubbling

Delegate

KeyEventHandler

  • The corresponding tunneling event is PreviewKeyDown.

  • Override OnKeyDown to implement class handling for this event in derived classes.

Remarks

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 ContentElement 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.

Example

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. For the complete samples, see Keyboard Key Sample.

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.

XAML
<StackPanel>
  <TextBlock Width="300" Height="20">
    Type some text into the TextBox and press the Enter key.
  </TextBlock>
  <TextBox Width="300" Height="30" Name="textBox1"
           KeyDown="OnKeyDownHandler"/>
  <TextBlock Width="300" Height="100" Name="textBlock1"/>
</StackPanel>

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.

C#
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Return)
    {
        textBlock1.Text = "You Entered: " + textBox1.Text;
    }
}

Visual Basic
Private Sub OnKeyDownHandler(ByVal sender As Object, ByVal e As KeyEventArgs)
    If (e.Key = Key.Return) Then
        textBlock1.Text = "You Entered: " + textBox1.Text
    End If
End Sub

Platforms

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

Version Information

.NET Framework

Supported in: 3.0
See Also