public void AddTask(IBackgroundTask task) { var taskViewModel = new BackgroundTaskItemViewModel(task); this.taskItemList.Add(taskViewModel); if (this.selectedTask == null) { this.SelectedTask = taskViewModel; } taskViewModel.Disposed += TaskViewModel_Disposed; }
private void TaskViewModel_Disposed(object sender, EventArgs e) { if (sender is BackgroundTaskItemViewModel taskViewModel) { this.taskItemList.Remove(taskViewModel); if (this.selectedTask == taskViewModel) { this.SelectedTask = null; } } }