public BusyState(BaseViewModel baseViewModel, string message = null) { _baseViewModel = baseViewModel; _message = message; if (baseViewModel != null) { _oldBusyState = baseViewModel.Busy; _baseViewModel.IncrementBusyCounter(this); } }
protected BaseViewModel() { Busy = BusyState.Idle; }
public void IncrementBusyCounter(BusyState busyState) { Interlocked.Increment(ref _busyCounter); Busy = busyState; BusyChanged(); }
public void DecrementBusyCounter(BusyState oldBusyState) { Interlocked.Decrement(ref _busyCounter); Busy = oldBusyState; BusyChanged(); }