예제 #1
0
 public MainWindowViewModel()
 {
     try {
         // Позиционирование
         InitLocation();
         // Настройка событий
         _window.Activated       += (o, e) => PositionSave(o, e);
         _window.Closing         += (o, e) => Closing(_window, e);
         _window.ContentRendered += (o, e) => SetUpAppSettings(_window, e);
         // Apply localization
         ResourceManagerService.ChangeLocale(Settings.Same().Localization);
         // Инициализация списков культур
         _namesOfCultures          = InitNamesOfCultures();
         ListOfLocalization        = GetListOfLocalization();
         SelectedIndexLocalization = _namesOfCultures.IndexOf(Settings.Same().Localization);
         // Временно скрываем верхнюю линейку управления, что бы не мигало при инициализации цветово палитры
         ColorZoneVisibility = Visibility.Hidden;
         // Инициализация главного меню
         MainMenuItemsInit();
         // Random ColorSet
         PaletteThemeViewModel.ThemeChanged           += () => ColorSet.Create().RedefineColors();
         MainWindowViewModel.LocalizationChangedEvent += () => ColorSet.Create().RedefineColors();
         SettingOptionsViewModel.ApplyPrimaryChanged  += () => ColorSet.Create().RedefineColors();
         SettingOptionsViewModel.ApplyAccentChanged   += () => ColorSet.Create().RedefineColors();
         _dispatcherTimerShowBusyMemory = new DispatcherTimer(TimeSpan.FromMilliseconds(1000),
                                                              DispatcherPriority.Normal,
                                                              new EventHandler(SetBusyMemoryCaption),
                                                              Dispatcher.CurrentDispatcher);
         _dispatcherTimerShowBusyMemory.Stop();
         _dispatcherTimerShowBusyMemory.Start();
     } catch (Exception e) {
         Settings.Same().AppStatus = TaskStatus.Faulted;
         ErrorProcessing.Show(e);
         (Application.Current as App).Shutdown();
     }
 }