CommandBinding.CanExecute 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當與此 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 該 設定 CanExecute 為 true。
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 CommandBinding , CanExecute 則會呼叫該 CommandBinding 指令的處理器。 如果指令目標沒有 a CommandBinding for 該指令,事件會 CanExecute 在元素樹中冒泡,搜尋與該指令相關的 CommandBinding 元素。
路由事件資訊
| 項目 | 價值 |
|---|---|
| 識別碼欄位 | CanExecuteEvent |
| 路由策略 | 氣泡 |
| 委派 | CanExecuteRoutedEventHandler |
- 對應的隧道事件為 PreviewCanExecute。