public TraceTabViewModel(IMultiProbeDataViewModel multiProbeDataViewModel)
        {
            this._multiProbeDataViewModel = multiProbeDataViewModel;
            this._title               = "Untitled Trace";
            this._scale               = 2;
            this._voltageScale        = 3.3;
            this._voltageScaleString  = "3.3V";
            this._offset              = 0;
            this._voltageOffset       = 0;
            this._voltageOffsetString = "0V";

            this._traceSourceViewModels = new ObservableCollection <ITraceSourceViewModel>();

            foreach (IProbeDataViewModel pdvm in this._multiProbeDataViewModel.ProbeDataViewModels)
            {
                this._traceSourceViewModels.Add(new TraceSourceViewModel(pdvm));
            }
            foreach (IDerivedProbeDataViewModel pdvm in this._multiProbeDataViewModel.DerivedProbeDataViewModels)
            {
                this._traceSourceViewModels.Add(new TraceSourceViewModel(pdvm));
            }

            this._multiProbeDataViewModel.ProbeDataViewModels.CollectionChanged        += ProbeDataViewModels_CollectionChanged;
            this._multiProbeDataViewModel.DerivedProbeDataViewModels.CollectionChanged += DerivedProbeDataViewModels_CollectionChanged;
        }
        public TopLevelViewModel(ITraceTabViewModelFactory traceTabViewModelFactory, ISourcesTabViewModel sourcesTabViewModel, IMultiProbeDataViewModel multiProbeDataViewModel)
        {
            this._traceTabViewModelFactory = traceTabViewModelFactory;
            this._sourcesTabViewModel      = sourcesTabViewModel;

            this._traceTabViewModels = new ObservableCollection <ITraceTabViewModel>
            {
                this.TraceTabViewModelFactory.Create(multiProbeDataViewModel)
            };

            this._multiProbeDataViewModel = multiProbeDataViewModel;
        }
        public ITraceTabViewModel Create(IMultiProbeDataViewModel multiProbeDataViewModel)
        {
            var traceTabViewModel = new TraceTabViewModel(multiProbeDataViewModel);

            return(traceTabViewModel);
        }