/// <summary> /// Конструктор. /// </summary> /// <param name="container">Используется только для того, чтобы зарегистрировать репозиторий после его инициализации </param> /// <param name="loader">Загрузчик.</param> /// <param name="applicationSettings">Настройки приложения</param> /// <param name="selectionMasksStorage"></param> /// <param name="messenger"></param> /// <param name="repositoryViewModelFactory"></param> /// <param name="sciChartViewModelFactory"> </param> /// <param name="colorsStorage"></param> public MainViewModel(IUnityContainer container, ILoader loader, IApplicationSettings applicationSettings, ISelectionMasksStorage selectionMasksStorage, IMessenger messenger, IRepositoryViewModelFactory repositoryViewModelFactory, ISciChartViewModelFactory sciChartViewModelFactory, IColorsStorage colorsStorage) { SelectionMasksStorage = selectionMasksStorage; _container = container; _loader = loader; _applicationSettings = applicationSettings; _messenger = messenger; _repositoryViewModelFactory = repositoryViewModelFactory; _colorsStorage = colorsStorage; _mainChart = sciChartViewModelFactory.Create(); IsRepositoryLoaded = false; if (File.Exists(_applicationSettings.SelectionMasksFullFilePath)) { SelectionMasksStorage.Load(_applicationSettings.SelectionMasksFullFilePath); } InitializeCommands(); _collapseTreeCmd = new RelayCommand(CollapseTree, () => true); _collapsePowerOnTreeCmd = new RelayCommand(CollapsePowerOnTree, () => true); _messenger.Register <IsTrendOnPlotChangedMessage>(this, IsTrendOnPlotChanged); }
private void AddTrendToPlot(ISciChartViewModel sciChartViewModel, ITrendViewModel trend) { if (trend.IsOnPlot) { IsTrendLoading = true; trend.IsTrendLoading = true; sciChartViewModel.AddTrend(trend, result => { IsTrendLoading = false; trend.IsTrendLoading = false; }); } else { sciChartViewModel.RemoveTrend(trend); } }