コード例 #1
0
 public CurrentViewModel(
     IRegionManager rm,
     CurrentHolder holder) : base(rm)
 {
     Current = holder.Current;
     holder.PropertyChanged += (s, e) => Current = holder.Current;
 }
コード例 #2
0
        public InitializeViewModel(
            IRegionManager rm,
            CurrentService currentService,
            ArchiveService archiveService,
            CurrentHolder currentHolder,
            ArchiveHolder archiveHolder) : base(rm)
        {
            _currentService = currentService;
            _archiveService = archiveService;
            _currentHolder  = currentHolder;
            _archiveHolder  = archiveHolder;

            LoadedCommand = new DelegateCommand(async() => await LoadedAsync());
        }
コード例 #3
0
        public MainWindowViewModel(
            IEventAggregator ea,
            IRegionManager rm,
            CurrentService currentService,
            ArchiveService archiveService,
            SettingHolder settingHolder,
            CurrentHolder currentHolder,
            ArchiveHolder archiveHolder) : base(rm)
        {
            _rm             = rm;
            _currentService = currentService;
            _archiveService = archiveService;
            _settingHolder  = settingHolder;
            _archiveHolder  = archiveHolder;
            _currentHolder  = currentHolder;
            _keyboardHook   = new KeyboardHook();

            _rm.RegisterViewWithRegion(RegionNames.ContentRegion, typeof(Initialize));
            _rm.RegisterViewWithRegion(RegionNames.ArchiveRegion, typeof(ArchiveList));

            Current     = _currentHolder.Current;
            IsNightMode = _settingHolder.Setting.IsNightMode;
            _currentHolder.PropertyChanged += (s, e) => Current = _currentHolder.Current;
            _keyboardHook.KeyboardHooked   += new KeyboardHookedEventHandler(OnKeyboardHooked);

            NavigateOnDrawerCommand = new DelegateCommand <string>(NavigateOnDrawer);
            ApplyNightModeCommand   = new DelegateCommand(ApplyNightMode);
            ResetCommand            = new DelegateCommand(async() => await ResetAsync(), () => !IsLoading).ObservesProperty(() => IsLoading);

            // 保存テーマの適用
            ThemeManager.ModifyTheme(theme => theme.SetPrimaryColor(_settingHolder.Setting.ColorPrimary.ExemplarHue.Color));
            ThemeManager.ModifyTheme(theme => theme.SetSecondaryColor(_settingHolder.Setting.ColorAccent.ExemplarHue.Color));
            ThemeManager.ModifyTheme(theme => theme.SetBaseTheme(_settingHolder.Setting.IsNightMode ? Theme.Dark : Theme.Light));

            ea.GetEvent <UnhandledExceptionEvent>().Subscribe(UnhandledExceptionAction, ThreadOption.UIThread);
        }