Export (0) Print
Expand All

UIElement.CommandBindings Property

Gets a collection of CommandBinding objects associated with this element. A CommandBinding enables command handling for this element, and declares the linkage between a command, its events, and the handlers attached by this element.

Namespace:  System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public CommandBindingCollection CommandBindings { get; }
<object>
  <object.CommandBindings>
    oneOrMoreCommandBindings
  </object.CommandBindings>
</object>

XAML Values

oneOrMoreCommandBindings

One or more CommandBinding elements. Each of these should have a Command attribute set to a known command, and attributes set for the CanExecute and Executed handler implementations. For more information see CommandBinding.

Property Value

Type: System.Windows.Input.CommandBindingCollection
The collection of all CommandBinding objects.

Another typical way to populate the CommandBindings collection is to use CommandManager methods programmatically.

The following example adds a CommandBinding to a window using markup. Note that in XAML, the CommandBindingCollection is not declared in the markup as an element; the collection object is inferred by the type that the property takes, and you populate the property element with one or more CommandBinding elements:

<Window.CommandBindings>
  <CommandBinding Command="ApplicationCommands.Open"
                  Executed="OpenCmdExecuted"
                  CanExecute="OpenCmdCanExecute"/>
</Window.CommandBindings>

For more information about the XAML syntax for collections, see XAML Syntax In Detail.

The following example does essentially the same thing in code:

// Creating CommandBinding and attaching an Executed and CanExecute handler
CommandBinding OpenCmdBinding = new CommandBinding(
    ApplicationCommands.Open,
    OpenCmdExecuted,
    OpenCmdCanExecute);

this.CommandBindings.Add(OpenCmdBinding);

.NET Framework

Supported in: 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.

Show:
© 2014 Microsoft