public static void SaveSettings(WpfSettings settings) { using (var stream = File.Open(SettingsPath, FileMode.Create, FileAccess.Write, FileShare.None)) { new XmlSerializer(typeof(WpfSettings)).Serialize(stream, settings); } }
/// <summary> /// Fixes weird behavior caused by multi-monitor setups losing a monitor. /// </summary> private static void FixWindowPostion(WpfSettings settings) { if (settings.MainWindowLeft >= SystemParameters.WorkArea.Right) { settings.MainWindowLeft = double.NaN; } if (settings.MainWindowTop <= 0) { settings.MainWindowTop = 0; } }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); this.CheckInstall(); this.Settings = SettingsHelper.LoadSettings(); Locator.Register <ISettings>(this.Settings); if (UpdateChecker.CheckForUpdate(false)) { Locator.Get <IDialogService>().ShowDialog(new UpdateWindowViewModel()); return; } var vm = new MainWindowViewModel(); var view = new MainWindowView { DataContext = vm }; this.MainWindow = view; vm.ConnectToStartupNetworks(); this.MainWindow.Show(); }