You have three options:
1) CommandBinding :
CommandBinding cb = new CommandBinding(ApplicationCommands.SelectAll);
cb.PreviewCanExecute += OnCanExecuteSelectAll;
cb.PreviewExecuted += OnExecutedSelectAll;
- CommandBinding, PreviewExecuted, Executed , e.Handled false. , , PreviewCanExecute/CanExecute. CommandBinding.
PreviewExecuted , .
2) CommandManager:
CommandManager.AddPreviewCanExecuteHandler(this, OnCanExecuteSelectAll);
CommandManager.AddPreviewExecutedHandler(this, OnExecutedSelectAll);
, . , ( ). : CommandBinding, CommandManager - .
3) ( ):
this.AddHandler(CommandManager.CanExecuteEvent, new CanExecuteRoutedEventHandler(OnCanExecuteSelectAll), true);
this.AddHandler(CommandManager.ExecutedEvent, new ExecutedRoutedEventHandler(OnExecutedSelectAll), true);
, , .
, , CommandManager .
, 2 , CommandManager.Add [ ] Handler - AddHandler .