public bool CanExecute(object parameter) { var authorized = true; var canExecute = _canExecute != null && _canExecute((T)parameter); if (canExecute) { authorized = IsAuthorized(); canExecute = authorized; } UnauthorizedVisibility = authorized ? Visibility.Collapsed : Visibility.Visible; UnauthorizedReason = AuthorizationContext.ToReason(authorized); return(canExecute); }
public static string ToReason(this AuthorizationContext value) => value.ToReason(false);