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.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft