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
事件類型
範例
下列範例會CommandBinding建立 ,將 和 CanExecuteRoutedEventArgs 處理程式對應ExecutedRoutedEventHandler至 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)
以下顯示設定為 true的 CanExecuteRoutedEventHandlerCanExecute 。
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呼叫 上的 RoutedCommand 方法時,PreviewCanExecute會在命令目標上引發 事件。 如果未處理事件,則會 CanExecute 引發 事件。 如果命令目標具有 CommandBinding 命令的 ,則會 CanExecute 呼叫的 CommandBinding 處理程式。 如果命令目標沒有 CommandBinding 命令的 ,則 CanExecute 事件會將專案樹狀結構反升,搜尋與 CommandBinding 命令相關聯的專案。
路由事件資訊
| 標識元欄位 | CanExecuteEvent |
| 路由策略 | 鼓 泡 |
| 代理人 | CanExecuteRoutedEventHandler |
- 對應的通道事件為 PreviewCanExecute。