/// <summary> /// /// </summary> public MainWindow() { InitializeComponent(); Current = this; JobsView = new JobsView(); TasksView = new TasksView(); ContentGrid.Children.Add(JobsView); }
/// <summary> /// Logic to hook up the <see cref="JobsView" /> for UI binding. /// </summary> private void InitJobsView() { CurrentSelectedPingJob = null; if (CurrentSelectedJobDefinition == null) { JobsView = null; return; } JobsView = CollectionViewSource.GetDefaultView(CurrentSelectedJobDefinition.Jobs) as ListCollectionView; if (JobsView == null) { return; } JobsView.CurrentChanged += (s, e) => { RaisePropertyChanged(() => CurrentSelectedPingJob); InitRunsView(); }; CurrentSelectedJobDefinition.Jobs.CollectionChanged += (s, e) => { if (e.NewItems != null) { foreach (INotifyPropertyChanged added in e.NewItems) { added.PropertyChanged += JobsOnPropertyChanged; } } if (e.OldItems != null) { foreach (INotifyPropertyChanged removed in e.OldItems) { removed.PropertyChanged -= JobsOnPropertyChanged; } } }; if (JobsView.Count > 0) { JobsView.MoveCurrentToFirst(); } }