async Task RunInitialLoad(object c) { Messenger.Default.Send <LoadingMessage>(new LoadingMessage { Loading = true }); var initialListing = await _listingProvider.GetInitialListing(_state).Item2(); var remainingVMs = await MapListing(initialListing, null); Messenger.Default.Send <LoadingMessage>(new LoadingMessage { Loading = false }); EventHandler <object> tickHandler = (obj, obj2) => RunUILoad(ref remainingVMs, this, obj); _timerHandles.Add(new WeakReference(_systemServices.StartTimer(tickHandler, new TimeSpan(200), true))); }
private void OnLoadingMessage(LoadingMessage message) { if (message.Loading) { ProgressBarVisibility = true; _running++; _dispatcherTimerHandle = _systemServices.StartTimer(OnTick, TimeSpan.FromSeconds(2), true); } else { _running--; } }