From 5cc1c7093a3f449e77f0d5fd27159d1fb229e6da Mon Sep 17 00:00:00 2001
From: CJKmkp <2564608840@qq.com>
Date: Sat, 7 Feb 2026 10:37:51 +0800
Subject: [PATCH] =?UTF-8?q?add:=E6=96=B0=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../SettingsViews/AdvancedPanel.xaml.cs | 61 +++++++++++++++-
.../SettingsViews/CanvasAndInkPanel.xaml.cs | 73 ++++++++++++++++++-
.../SettingsViews/GesturesPanel.xaml.cs | 36 ++++++++-
.../SettingsViews/LuckyRandomPanel.xaml.cs | 43 ++++++++++-
.../SettingsViews/PowerPointPanel.xaml.cs | 65 ++++++++++++++++-
.../SettingsViews/SnapshotPanel.xaml.cs | 46 +++++++++++-
.../SettingsViews/StartupPanel.xaml.cs | 50 ++++++++++++-
.../SettingsViews/ThemePanel.xaml.cs | 50 ++++++++++++-
8 files changed, 392 insertions(+), 32 deletions(-)
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/AdvancedPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/AdvancedPanel.xaml.cs
index 4e552d6b..7397a301 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/AdvancedPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/AdvancedPanel.xaml.cs
@@ -232,6 +232,55 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings?.Advanced == null) return false;
+
+ try
+ {
+ var advanced = MainWindow.Settings.Advanced;
+ switch (tag)
+ {
+ case "IsSpecialScreen":
+ return advanced.IsSpecialScreen;
+ case "EraserBindTouchMultiplier":
+ return advanced.EraserBindTouchMultiplier;
+ case "IsQuadIR":
+ return advanced.IsQuadIR;
+ case "IsLogEnabled":
+ return advanced.IsLogEnabled;
+ case "IsSaveLogByDate":
+ return advanced.IsSaveLogByDate;
+ case "IsSecondConfirmWhenShutdownApp":
+ return advanced.IsSecondConfirmWhenShutdownApp;
+ case "IsEnableFullScreenHelper":
+ return advanced.IsEnableFullScreenHelper;
+ case "IsEnableAvoidFullScreenHelper":
+ return advanced.IsEnableAvoidFullScreenHelper;
+ case "IsEnableEdgeGestureUtil":
+ return advanced.IsEnableEdgeGestureUtil;
+ case "IsEnableForceFullScreen":
+ return advanced.IsEnableForceFullScreen;
+ case "IsEnableDPIChangeDetection":
+ return advanced.IsEnableDPIChangeDetection;
+ case "IsEnableResolutionChangeDetection":
+ return advanced.IsEnableResolutionChangeDetection;
+ case "IsAutoBackupBeforeUpdate":
+ return advanced.IsAutoBackupBeforeUpdate;
+ case "IsAutoBackupEnabled":
+ return advanced.IsAutoBackupEnabled;
+ case "IsEnableUriScheme":
+ return advanced.IsEnableUriScheme;
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -242,13 +291,13 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+ SetToggleSwitchState(border, newState);
+
var advanced = MainWindow.Settings.Advanced;
if (advanced == null) return;
@@ -526,6 +575,10 @@ namespace Ink_Canvas.Windows.SettingsViews
try
{
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs
index 5e521781..e157cab5 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs
@@ -230,6 +230,67 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings?.Canvas == null) return false;
+
+ try
+ {
+ var canvas = MainWindow.Settings.Canvas;
+ switch (tag)
+ {
+ case "ShowCursor":
+ return canvas.IsShowCursor;
+ case "EnablePressureTouchMode":
+ return canvas.EnablePressureTouchMode;
+ case "DisablePressure":
+ return canvas.DisablePressure;
+ case "HideStrokeWhenSelecting":
+ return canvas.HideStrokeWhenSelecting;
+ case "ClearCanvasAndClearTimeMachine":
+ return canvas.ClearCanvasAndClearTimeMachine;
+ case "ClearCanvasAlsoClearImages":
+ return canvas.ClearCanvasAlsoClearImages;
+ case "CompressPicturesUploaded":
+ return canvas.IsCompressPicturesUploaded;
+ case "ShowCircleCenter":
+ return canvas.ShowCircleCenter;
+ case "FitToCurve":
+ return canvas.FitToCurve && !canvas.UseAdvancedBezierSmoothing;
+ case "AdvancedBezierSmoothing":
+ return canvas.UseAdvancedBezierSmoothing;
+ case "UseAsyncInkSmoothing":
+ return canvas.UseAsyncInkSmoothing;
+ case "UseHardwareAcceleration":
+ return canvas.UseHardwareAcceleration;
+ case "AutoStraightenLine":
+ return canvas.AutoStraightenLine;
+ case "HighPrecisionLineStraighten":
+ return canvas.HighPrecisionLineStraighten;
+ case "LineEndpointSnapping":
+ return canvas.LineEndpointSnapping;
+ case "EnableInkFade":
+ return canvas.EnableInkFade;
+ case "HideInkFadeControlInPenMenu":
+ return canvas.HideInkFadeControlInPenMenu;
+ case "EnableAutoSaveStrokes":
+ return MainWindow.Settings.Automation?.IsEnableAutoSaveStrokes ?? false;
+ case "SaveFullPageStrokes":
+ return MainWindow.Settings.Automation?.IsSaveFullPageStrokes ?? false;
+ case "SaveStrokesAsXML":
+ return MainWindow.Settings.Automation?.IsSaveStrokesAsXML ?? false;
+ case "AutoSaveStrokesInPowerPoint":
+ return MainWindow.Settings.PowerPointSettings?.IsAutoSaveStrokesInPowerPoint ?? false;
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -240,13 +301,13 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+ SetToggleSwitchState(border, newState);
+
var canvas = MainWindow.Settings.Canvas;
if (canvas == null) return;
@@ -602,6 +663,10 @@ namespace Ink_Canvas.Windows.SettingsViews
try
{
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/GesturesPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/GesturesPanel.xaml.cs
index 914e46cd..6edb3fbf 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/GesturesPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/GesturesPanel.xaml.cs
@@ -172,6 +172,30 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings == null) return false;
+
+ try
+ {
+ switch (tag)
+ {
+ case "AutoSwitchTwoFingerGesture":
+ return MainWindow.Settings.Gesture?.AutoSwitchTwoFingerGesture ?? false;
+ case "EnableTwoFingerRotationOnSelection":
+ return MainWindow.Settings.Gesture?.IsEnableTwoFingerRotationOnSelection ?? false;
+ case "EnablePalmEraser":
+ return MainWindow.Settings.Canvas?.EnablePalmEraser ?? false;
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -182,13 +206,13 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+ SetToggleSwitchState(border, newState);
+
switch (tag)
{
case "AutoSwitchTwoFingerGesture":
@@ -316,6 +340,10 @@ namespace Ink_Canvas.Windows.SettingsViews
try
{
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/LuckyRandomPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/LuckyRandomPanel.xaml.cs
index 1afb36fd..c72d64b6 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/LuckyRandomPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/LuckyRandomPanel.xaml.cs
@@ -220,6 +220,37 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings?.RandSettings == null) return false;
+
+ try
+ {
+ var randSettings = MainWindow.Settings.RandSettings;
+ switch (tag)
+ {
+ case "DisplayRandWindowNamesInputBtn":
+ return randSettings.DisplayRandWindowNamesInputBtn;
+ case "ShowRandomAndSingleDraw":
+ return randSettings.ShowRandomAndSingleDraw;
+ case "EnableQuickDraw":
+ return randSettings.EnableQuickDraw;
+ case "ExternalCaller":
+ return randSettings.DirectCallCiRand;
+ case "UseNewRollCallUI":
+ return randSettings.UseNewRollCallUI;
+ case "EnableMLAvoidance":
+ return randSettings.EnableMLAvoidance;
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -230,13 +261,13 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+ SetToggleSwitchState(border, newState);
+
var randSettings = MainWindow.Settings.RandSettings;
if (randSettings == null) return;
@@ -435,6 +466,10 @@ namespace Ink_Canvas.Windows.SettingsViews
try
{
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/PowerPointPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/PowerPointPanel.xaml.cs
index e6717a12..d9b69640 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/PowerPointPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/PowerPointPanel.xaml.cs
@@ -311,6 +311,59 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings?.PowerPointSettings == null) return false;
+
+ try
+ {
+ var pptSettings = MainWindow.Settings.PowerPointSettings;
+ switch (tag)
+ {
+ case "SupportPowerPoint":
+ return pptSettings.PowerPointSupport;
+ case "PowerPointEnhancement":
+ return pptSettings.EnablePowerPointEnhancement;
+ case "SupportWPS":
+ return pptSettings.IsSupportWPS;
+ case "EnableWppProcessKill":
+ return pptSettings.EnableWppProcessKill;
+ case "ShowPPTButton":
+ return pptSettings.ShowPPTButton;
+ case "EnablePPTButtonPageClickable":
+ return pptSettings.EnablePPTButtonPageClickable;
+ case "EnablePPTButtonLongPressPageTurn":
+ return pptSettings.EnablePPTButtonLongPressPageTurn;
+ case "SkipAnimationsWhenGoNext":
+ return pptSettings.SkipAnimationsWhenGoNext;
+ case "ShowCanvasAtNewSlideShow":
+ return pptSettings.IsShowCanvasAtNewSlideShow;
+ case "EnableTwoFingerGestureInPresentationMode":
+ return pptSettings.IsEnableTwoFingerGestureInPresentationMode;
+ case "EnableFingerGestureSlideShowControl":
+ return pptSettings.IsEnableFingerGestureSlideShowControl;
+ case "ShowGestureButtonInSlideShow":
+ return pptSettings.ShowGestureButtonInSlideShow;
+ case "EnablePPTTimeCapsule":
+ return pptSettings.EnablePPTTimeCapsule;
+ case "NotifyPreviousPage":
+ return pptSettings.IsNotifyPreviousPage;
+ case "AlwaysGoToFirstPageOnReenter":
+ return pptSettings.IsAlwaysGoToFirstPageOnReenter;
+ case "NotifyHiddenPage":
+ return pptSettings.IsNotifyHiddenPage;
+ case "NotifyAutoPlayPresentation":
+ return pptSettings.IsNotifyAutoPlayPresentation;
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -321,13 +374,13 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+ SetToggleSwitchState(border, newState);
+
var pptSettings = MainWindow.Settings.PowerPointSettings;
if (pptSettings == null) return;
@@ -639,6 +692,10 @@ namespace Ink_Canvas.Windows.SettingsViews
try
{
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/SnapshotPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/SnapshotPanel.xaml.cs
index 8d32ee51..a745c0c9 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/SnapshotPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/SnapshotPanel.xaml.cs
@@ -169,6 +169,39 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings == null) return false;
+
+ try
+ {
+ switch (tag)
+ {
+ case "AutoSaveStrokesAtClear":
+ return MainWindow.Settings.Automation?.IsAutoSaveStrokesAtClear ?? false;
+
+ case "SaveScreenshotsInDateFolders":
+ return MainWindow.Settings.Automation?.IsSaveScreenshotsInDateFolders ?? false;
+
+ case "AutoSaveStrokesAtScreenshot":
+ return MainWindow.Settings.Automation?.IsAutoSaveStrokesAtScreenshot ?? false;
+
+ case "AutoSaveScreenShotInPowerPoint":
+ return MainWindow.Settings.PowerPointSettings?.IsAutoSaveScreenShotInPowerPoint ?? false;
+
+ case "AutoDelSavedFiles":
+ return MainWindow.Settings.Automation?.AutoDelSavedFiles ?? false;
+
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -179,13 +212,14 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+
+ SetToggleSwitchState(border, newState);
+
switch (tag)
{
case "AutoSaveStrokesAtClear":
@@ -366,6 +400,10 @@ namespace Ink_Canvas.Windows.SettingsViews
try
{
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/StartupPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/StartupPanel.xaml.cs
index 3b20bd37..721de3b4 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/StartupPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/StartupPanel.xaml.cs
@@ -233,6 +233,44 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings == null) return false;
+
+ try
+ {
+ switch (tag)
+ {
+ case "IsAutoUpdate":
+ return MainWindow.Settings.Startup?.IsAutoUpdate ?? false;
+ case "IsAutoUpdateWithSilence":
+ return MainWindow.Settings.Startup?.IsAutoUpdateWithSilence ?? false;
+ case "RunAtStartup":
+ // 检查启动项是否存在
+ return System.IO.File.Exists(
+ Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\Ink Canvas Annotation.lnk");
+ case "FoldAtStartup":
+ return MainWindow.Settings.Startup?.IsFoldAtStartup ?? false;
+ case "NoFocusMode":
+ return MainWindow.Settings.Advanced?.IsNoFocusMode ?? false;
+ case "WindowMode":
+ return MainWindow.Settings.Advanced?.WindowMode ?? false;
+ case "AlwaysOnTop":
+ return MainWindow.Settings.Advanced?.IsAlwaysOnTop ?? false;
+ case "UIAccessTopMost":
+ return MainWindow.Settings.Advanced?.EnableUIAccessTopMost ?? false;
+ case "Mode":
+ return MainWindow.Settings.ModeSettings?.IsPPTOnlyMode ?? false;
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -243,13 +281,13 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+ SetToggleSwitchState(border, newState);
+
switch (tag)
{
case "IsAutoUpdate":
@@ -552,6 +590,10 @@ namespace Ink_Canvas.Windows.SettingsViews
// 使用 ThemeHelper 递归更新其他元素
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/ThemePanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/ThemePanel.xaml.cs
index 91433e21..3bef42db 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/ThemePanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/ThemePanel.xaml.cs
@@ -239,6 +239,44 @@ namespace Ink_Canvas.Windows.SettingsViews
}
}
+ private bool GetCurrentSettingValue(string tag)
+ {
+ if (MainWindow.Settings == null) return false;
+
+ try
+ {
+ switch (tag)
+ {
+ case "EnableSplashScreen":
+ return MainWindow.Settings.Appearance?.EnableSplashScreen ?? false;
+ case "EnableDisPlayNibModeToggle":
+ return MainWindow.Settings.Appearance?.IsEnableDisPlayNibModeToggler ?? false;
+ case "EnableTrayIcon":
+ return MainWindow.Settings.Appearance?.EnableTrayIcon ?? false;
+ case "EnableViewboxBlackBoardScaleTransform":
+ return MainWindow.Settings.Appearance?.EnableViewboxBlackBoardScaleTransform ?? false;
+ case "EnableTimeDisplayInWhiteboardMode":
+ return MainWindow.Settings.Appearance?.EnableTimeDisplayInWhiteboardMode ?? false;
+ case "EnableChickenSoupInWhiteboardMode":
+ return MainWindow.Settings.Appearance?.EnableChickenSoupInWhiteboardMode ?? false;
+ case "EnableQuickPanel":
+ return MainWindow.Settings.Appearance?.IsShowQuickPanel ?? false;
+ case "AutoEnterAnnotationModeWhenExitFoldMode":
+ return MainWindow.Settings.Automation?.IsAutoEnterAnnotationModeWhenExitFoldMode ?? false;
+ case "AutoFoldAfterPPTSlideShow":
+ return MainWindow.Settings.Automation?.IsAutoFoldAfterPPTSlideShow ?? false;
+ case "AutoFoldWhenExitWhiteboard":
+ return MainWindow.Settings.Automation?.IsAutoFoldWhenExitWhiteboard ?? false;
+ default:
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
///
/// ToggleSwitch点击事件处理
///
@@ -249,13 +287,13 @@ namespace Ink_Canvas.Windows.SettingsViews
var border = sender as Border;
if (border == null) return;
- bool isOn = border.Background.ToString() == "#FF3584E4";
- bool newState = !isOn;
- SetToggleSwitchState(border, newState);
-
string tag = border.Tag?.ToString();
if (string.IsNullOrEmpty(tag)) return;
+ bool currentState = GetCurrentSettingValue(tag);
+ bool newState = !currentState;
+ SetToggleSwitchState(border, newState);
+
var appearance = MainWindow.Settings.Appearance;
if (appearance == null) return;
@@ -798,6 +836,10 @@ namespace Ink_Canvas.Windows.SettingsViews
try
{
ThemeHelper.ApplyThemeToControl(this);
+ if (_isLoaded)
+ {
+ LoadSettings();
+ }
}
catch (Exception ex)
{