public MainViewModel() { // 設定のアップグレード if (!Properties.Settings.Default.IsUpgrade) { Properties.Settings.Default.Upgrade(); Properties.Settings.Default.IsUpgrade = true; Properties.Settings.Default.Save(); MessageBox.Show("設定をアップグレードしました。"); } ProgressBar = new ProgressBarViewModel(); MessageBar = new MessageBarViewModel(); UnitParam = new UnitParamViewModel(); UnitDrop = new UnitDropViewModel(); UnitSkill = new UnitSkillViewModel(); UnitMap = new UnitMapViewModel(); UnitMap.SelectMobChanged += (sender, mob) => { SelectedUnit = SelectedPatch.Units.FirstOrDefault(a => a.Id == mob.Id); }; Root = Properties.Settings.Default.Root; if (Directory.Exists(Properties.Settings.Default.ChatDir)) Chat = new DirectoryInfo(Properties.Settings.Default.ChatDir); RootChangedCommand = CreateCommand( exe => RootChanged(), can => { return true; }); FileReadCommand = CreateCommand( exe => FileRead(), can => { return !string.IsNullOrEmpty(Root); }); ChatChangedCommand = CreateCommand( exe => ChatFolderChanged(), can => { return true; }); TimerStartCommand = CreateCommand( exe => Timer.Start(), can => { return Chat != null && Timer != null && !Timer.IsEnabled; }); TimerStopCommand = CreateCommand( exe => Timer.Stop(), can => { return Timer != null && Timer.IsEnabled; }); Timer = new DispatcherTimer(); Timer.Interval = TimeSpan.FromMilliseconds(Properties.Settings.Default.Interval); Timer.Tick += Timer_Tick; }