/// <summary> /// Обновление фильров коллекий /// </summary> void UpdateUIViewCollection() { StartInProgress = Voyages.Where(d => d.Status >= -1 && d.Status < 3).Count(); DestInProgress = Voyages.Where(d => d.Status >= 3).Count(); OnPropertyChanged("StartInProgress"); OnPropertyChanged("DestInProgress"); if (StartViewVoyage.View != null) { StartViewVoyage.View.Refresh(); } if (DestViewVoyage.View != null) { DestViewVoyage.View.Refresh(); } }
public VoyageViewModel() { //генерируем случайные рейсы Services.CreateVoyagesXML(100); //загружаем Voyages = Services.LoadVoyagesXML(); // создаем коллекцию с источником startViewVoyage = new CollectionViewSource() { Source = Voyages }; destViewVoyage = new CollectionViewSource() { Source = Voyages }; //добавляем фильтры startViewVoyage.Filter += new FilterEventHandler(startFilter); destViewVoyage.Filter += new FilterEventHandler(destFilter); StartInProgress = Voyages.Where(d => d.Status >= -1 && d.Status < 3).Count(); DestInProgress = Voyages.Where(d => d.Status >= 3).Count(); //сервис для потокового обновления коллекций UI Executer.Initialize(); //инициализция графиков graphVoyage = new GraphVoyage(); graphVoyage.ConfigChart(); //настраиваем таймер и запускаем таймер (имитатор времени) RealDateTime = DateTime.Now; dtimer = new DTimeService(RealDateTime); dtimer.OnChangeTime += Dtimer_OnChangeTime; dtimer.Start(); }