This documentation is archived and is not being maintained.

ModifierKeys Enumeration

Specifies the set of modifier keys.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace: System.Windows.Input
Assembly: WindowsBase (in windowsbase.dll)
XML Namespace:

public enum ModifierKeys
/** @attribute TypeConverterAttribute(System.Windows.Input.ModifierKeysConverter) */ 
/** @attribute FlagsAttribute() */ 
public enum ModifierKeys
public enum ModifierKeys
<object property="oneOrMoreModifierKeys"/>
 oneOrMoreModifierKeys  One or more modifier keys, defined by the ModifierKeys enumeration, delimited with a "+" character. 

 Member nameDescription
AltThe ALT key.  
ControlThe CONTORL key.  
NoneNo modifiers are pressed.  
ShiftThe SHIFT key.  
WindowsThe Windows logo key. 

The Modifiers property on the Keyboard class is the set of the modifier keys which are currently pressed.

Some APIs in Windows Presentation Foundation (WPF) that make use of the ModifierKeys enumeration are the Modifiers properties on the Keyboard, KeyBinding, KeyGesture, and MouseGesture classes.

The following example shows how to create a KeyBinding that associates a KeyGesture with a RoutedCommand. The KeyBinding uses the ModifierKeys enumeration to specify the modifier key of the gesture.

  <KeyBinding Command="ApplicationCommands.Open"
              Gesture="CTRL+R" />

// Creating a KeyBinding between the Open command and Ctrl-R
KeyBinding OpenCmdKeyBinding = new KeyBinding(


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.

.NET Framework

Supported in: 3.0