internal async Task Initialize() { var loadProcessTask = ProcessListViewModel?.LoadProcessesAsync(); var refreshInstanceTask = Task.Run(() => PerformanceCounterUtil.RefreshInstances()); await Task.WhenAll(loadProcessTask, refreshInstanceTask); }
private async Task RefreshProcessListAsync(bool keepSelectedProcess) { if (ProcessListViewModel?.Processes == null) { return; } ProcessListViewModel.PerformanceCounterViewModel?.Dispose(); var selectedProcess = ProcessListViewModel.SelectedProcess; var filter = ProcessListViewModel.CollectionView?.Filter; var loadProcessTask = ProcessListViewModel?.LoadProcessesAsync(); var refreshInstanceTask = Task.Run(() => PerformanceCounterUtil.RefreshInstances()); await loadProcessTask; if (filter != null) { ProcessListViewModel.CollectionView.Filter = filter; } if (keepSelectedProcess) { ProcessListViewModel.Select(selectedProcess?.ProcessId); } await refreshInstanceTask; }