CommandBinding.Executed 事件

定義

與此 CommandBinding 相關聯的命令執行時發生。

C#
public event System.Windows.Input.ExecutedRoutedEventHandler Executed;

事件類型

範例

下列範例會建立 ,CommandBinding將 和 CanExecuteRoutedEventArgs 處理程式對應ExecutedRoutedEventHandlerOpen 命令。

XAML
<Window.CommandBindings>
  <CommandBinding Command="ApplicationCommands.Open"
                  Executed="OpenCmdExecuted"
                  CanExecute="OpenCmdCanExecute"/>
</Window.CommandBindings>
C#
// Creating CommandBinding and attaching an Executed and CanExecute handler
CommandBinding OpenCmdBinding = new CommandBinding(
    ApplicationCommands.Open,
    OpenCmdExecuted,
    OpenCmdCanExecute);

this.CommandBindings.Add(OpenCmdBinding);

以下顯示 ExecutedRoutedEventHandler 執行命令時所建立 MessageBox 的 。

C#
void OpenCmdExecuted(object target, ExecutedRoutedEventArgs e)
{
    String command, targetobj;
    command = ((RoutedCommand)e.Command).Name;
    targetobj = ((FrameworkElement)target).Name;
    MessageBox.Show("The " + command +  " command has been invoked on target object " + targetobj);
}

備註

RoutedCommand執行時,它會在命令目標上引發 PreviewExecuted 事件。 PreviewExecuted如果未處理事件,則會Executed在命令目標上引發事件。 如果命令目標具有 CommandBinding 特定命令的 ,則會 Executed 呼叫該命令 CommandBinding 的處理程式。 如果命令目標沒有 CommandBinding 該特定命令的 ,事件 Executed 就會向上反升元素樹狀結構,以搜尋與 CommandBinding 命令相關聯的專案。 CommandBinding如果找不到 ,則不會處理命令。

路由事件資訊

標識元欄位 ExecutedEvent
路由策略 鼓 泡
代理人 ExecutedRoutedEventHandler

適用於

產品 版本
.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

另請參閱