private void UserSettingChanged(object sender, PropertyChangedEventArgs e) { PropertyInfo prop = sender.GetType().GetProperty(e.PropertyName); object newValue = prop?.GetValue(sender, null); log.Debug($"Setting change: {e.PropertyName} New Value: {newValue}"); switch (e.PropertyName) { case nameof(UserSettings.Setting.KeepOnTop): Topmost = (bool)newValue; break; case nameof(UserSettings.Setting.IncludeV6): InternalIP.GetMyInternalIP(); break; case nameof(UserSettings.Setting.IncludeDebug): NLHelpers.SetLogLevel((bool)newValue); break; case nameof(UserSettings.Setting.DarkMode): SetBaseTheme((int)newValue); break; case nameof(UserSettings.Setting.PrimaryColor): SetPrimaryColor((int)newValue); break; case nameof(UserSettings.Setting.UISize): int size = (int)newValue; double newSize = UIScale(size); MainGrid.LayoutTransform = new ScaleTransform(newSize, newSize); break; } }
public void ReadSettings() { // Set NLog configuration NLHelpers.NLogConfig(); // Unhandled exception handler AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; // Put the version number in the title bar Title = $"{AppInfo.AppName} - {AppInfo.TitleVersion}"; // Startup message in the temp file log.Info($"{AppInfo.AppName} {AppInfo.AppVersion} is starting up"); // Window position Top = UserSettings.Setting.WindowTop; Left = UserSettings.Setting.WindowLeft; Height = UserSettings.Setting.WindowHeight; Width = UserSettings.Setting.WindowWidth; Topmost = UserSettings.Setting.KeepOnTop; // .NET version, app framework and OS platform string version = Environment.Version.ToString(); log.Debug($".NET version: {AppInfo.RuntimeVersion.Replace(".NET", "")} ({version})"); log.Debug(AppInfo.Framework); log.Debug(AppInfo.OsPlatform); // Light or dark SetBaseTheme(UserSettings.Setting.DarkMode); // Primary color SetPrimaryColor(UserSettings.Setting.PrimaryColor); // UI size double size = UIScale(UserSettings.Setting.UISize); MainGrid.LayoutTransform = new ScaleTransform(size, size); // Initial page viewed NavigateToPage(UserSettings.Setting.InitialPage); // Settings change event UserSettings.Setting.PropertyChanged += UserSettingChanged; }
private void BtnLog_Click(object sender, RoutedEventArgs e) { TextFileViewer.ViewTextFile(NLHelpers.GetLogfileName()); }