protected internal override void OnCanExecute(object sender, CanExecuteRoutedEventArgs e) { var target = GetDataContext(sender); bool canExecute; if (!CommandExecutionManager.TryExecuteCommand(target, e.Parameter, false, Executed, CanExecute, out canExecute)) { return; } e.CanExecute = canExecute; e.Handled = true; }