RoutedCommand.Execute(Object, IInputElement) Метод

Определение

Выполняет RoutedCommand для текущего целевого объекта команды.

[System.Security.SecurityCritical]
public void Execute (object parameter, System.Windows.IInputElement target);
public void Execute (object parameter, System.Windows.IInputElement target);

Параметры

parameter
Object

Пользовательский параметр, передаваемый данному обработчику.

target
IInputElement

Элемент, для которого следует начать поиск обработчиков команд.

Атрибуты

Исключения

Параметр target не является объектом UIElement или ContentElement.

Примеры

Следующий пример является примером пользовательской ICommandSource реализации примера.

this.Command В этом примере является свойством Command в ICommandSource. Если команда не имеет значения NULL, команда приводится к RoutedCommand. Если это RoutedCommand, метод Execute вызывается, передавая CommandTarget и CommandParameter. Если команда не RoutedCommandявляется , она приводится к ICommand и Execute вызывается метод , передавая CommandParameter.

// If Command is defined, moving the slider will invoke the command;
// Otherwise, the slider will behave normally.
protected override void OnValueChanged(double oldValue, double newValue)
{
    base.OnValueChanged(oldValue, newValue);

    if (this.Command != null)
    {
        RoutedCommand command = Command as RoutedCommand;

        if (command != null)
        {
            command.Execute(CommandParameter, CommandTarget);
        }
        else
        {
            ((ICommand)Command).Execute(CommandParameter);
        }
    }
}

Комментарии

Фактическая логика RoutedCommand , которая выполняет , не содержится в методах Execute . Execute PreviewExecuted вызывает события и Executed , которые туннелирует и пузырьк через дерево элементов ищет объект с CommandBinding. При обнаружении CommandBinding для RoutedCommand этого вызывается присоединенный объект .CommandBindingExecutedRoutedEventHandler Эти обработчики предоставляют логику программирования, которая выполняет RoutedCommand.

События PreviewExecuted и Executed создаются для CommandTarget. CommandTarget Если значение не задано для ICommandSource, PreviewExecuted события и Executed вызываются в элементе с фокусом клавиатуры.

Применяется к

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9