ButtonBase.OnKeyDown Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Provides class handling for the KeyDown event that occurs when the user presses a key while this control has focus.

Namespace: System.Windows.Controls.Primitives
Assembly: System.Windows (in System.Windows.dll)


Protected Overrides Sub OnKeyDown ( _
    e As KeyEventArgs _
protected override void OnKeyDown(
    KeyEventArgs e



Exception Condition

e is nullNothingnullptra null reference (Nothing in Visual Basic).


This method marks the KeyDown event as handled by setting the KeyEventArgs..::.Handled property of the event data to true when ClickMode is not set to Hover and one of the following cases are true:

  • The user presses the SPACEBAR.

  • The user presses ENTER and the control accepts keyboard input.

Notes to Inheritors

If you override OnKeyDown, always call the base implementation in your OnKeyDown implementation. Failure to call the base implementation prevents base classes from handling the event with a class handler, which might change the run-time behavior of the final class. You can call the base implementation either before or after your special handling, depending on your requirements.

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0


Windows Phone

See Also


ButtonBase Class

System.Windows.Controls.Primitives Namespace