This documentation is archived and is not being maintained.

KeyGesture.Matches Method

Determines whether this KeyGesture matches the input associated with the specified InputEventArgs object.

Namespace:  System.Windows.Input
Assembly:  PresentationCore (in PresentationCore.dll)

public override bool Matches(
	Object targetElement,
	InputEventArgs inputEventArgs


Type: System.Object
The target.
Type: System.Windows.Input.InputEventArgs
The input event data to compare this gesture to.

Return Value

Type: System.Boolean
true if the event data matches this KeyGesture; otherwise, false.

targetElement can be used to make a more specific decision on whether a command should be invoked on a specific element.

The following example shows how to test whether a KeyGesture matches the input associated with an instance of an InputEventArgs. A KeyDown event handler is created that compares the event data with the KeyGesture by using the Matches method.

private void OnKeyDown(object sender, KeyEventArgs e)
    KeyGesture keyGesture = new KeyGesture(Key.B, ModifierKeys.Control);

    if(keyGesture.Matches(null, e))
        MessageBox.Show("Trapped Key Gesture");

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.