CommandBinding.CanExecute 事件

定義

當與此 CommandBinding 指令相關的指令啟動檢查,判斷該指令是否能對指令目標執行時。

public:
 event System::Windows::Input::CanExecuteRoutedEventHandler ^ CanExecute;
public event System.Windows.Input.CanExecuteRoutedEventHandler CanExecute;
member this.CanExecute : System.Windows.Input.CanExecuteRoutedEventHandler 
Public Custom Event CanExecute As CanExecuteRoutedEventHandler 
Public Event CanExecute As CanExecuteRoutedEventHandler 

事件類型

範例

以下範例建立 a CommandBinding ,將 a ExecutedRoutedEventHandler 映射到 和 CanExecuteRoutedEventArgs handler 到 指令 Open

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

this.CommandBindings.Add(OpenCmdBinding);
' Creating CommandBinding and attaching an Executed and CanExecute handler
Dim OpenCmdBinding As New CommandBinding(ApplicationCommands.Open, AddressOf OpenCmdExecuted, AddressOf OpenCmdCanExecute)

Me.CommandBindings.Add(OpenCmdBinding)

以下顯示 , CanExecuteRoutedEventHandler 該 設定 CanExecutetrue

void OpenCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    e.CanExecute = true;
}
Private Sub OpenCmdCanExecute(ByVal sender As Object, ByVal e As CanExecuteRoutedEventArgs)
    e.CanExecute = True
End Sub

備註

CanExecute a RoutedCommand 上的方法被呼叫時,指令目標會觸發該 PreviewCanExecute 事件。 若事件未被處理,事件 CanExecute 將被提出。 如果指令目標有該指令的 a CommandBindingCanExecute 則會呼叫該 CommandBinding 指令的處理器。 如果指令目標沒有 a CommandBinding for 該指令,事件會 CanExecute 在元素樹中冒泡,搜尋與該指令相關的 CommandBinding 元素。

路由事件資訊

項目 價值
識別碼欄位 CanExecuteEvent
路由策略 氣泡
委派 CanExecuteRoutedEventHandler

適用於

另請參閱