public ObservableCommand(IObservable <bool> canExecute) { canExecute .DistinctUntilChanged() .Subscribe(x => { _canExecute = x; CanExecuteChanged.SafeInvoke(this); }); _canExecute = false; }
/// <summary> /// Raises the <see cref="CanExecuteChanged"/> event. /// </summary> public virtual void RaiseCanExecuteChanged() { AutoDispatchIfRequiredAsync(async() => { try { CanExecuteChanged.SafeInvoke(this); } catch (Exception ex) { Log.Warning(ex, "Failed to raise CanExecuteChanged"); } }); }
/// <summary> /// Raises the <see cref="CanExecuteChanged"/> event. /// </summary> public void RaiseCanExecuteChanged() { var action = new Action(() => { #if NET foreach (var handler in _subscribedEventHandlers) { handler.SafeInvoke(this); } CommandManager.InvalidateRequerySuggested(); #else CanExecuteChanged.SafeInvoke(this); #endif }); AutoDispatchIfRequired(action); }
public void RaiseCanExecuteChanged() { CanExecuteChanged.SafeInvoke(this); }
/// <summary> /// Raises the <see cref="CanExecuteChanged"/> event. /// </summary> public virtual void RaiseCanExecuteChanged() { AutoDispatchIfRequiredAsync(async() => CanExecuteChanged.SafeInvoke(this)); }