diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml
index 1b70c42a..99be5b12 100644
--- a/Ink Canvas/MainWindow.xaml
+++ b/Ink Canvas/MainWindow.xaml
@@ -851,6 +851,16 @@
+
+
+
+
+
+
@@ -5296,7 +5306,7 @@
IsOn="{Binding ElementName=ToggleSwitchEnableInkToShape, Path=IsOn}" />
+ Width="100" x:Name="InkFadeControlPanel1">
+ Width="100" x:Name="InkFadeControlPanel2">
diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs
index 9a98085f..b8fa01cc 100644
--- a/Ink Canvas/MainWindow.xaml.cs
+++ b/Ink Canvas/MainWindow.xaml.cs
@@ -2692,6 +2692,57 @@ private void ToggleSwitchInkFadeInPanel_Toggled(object sender, RoutedEventArgs e
}
}
+ ///
+ /// 在笔工具菜单中隐藏墨迹渐隐控制开关切换事件处理
+ ///
+ private void ToggleSwitchHideInkFadeControlInPenMenu_Toggled(object sender, RoutedEventArgs e)
+ {
+ try
+ {
+ if (isLoaded)
+ {
+ Settings.Canvas.HideInkFadeControlInPenMenu = ToggleSwitchHideInkFadeControlInPenMenu.IsOn;
+ SaveSettingsToFile();
+ }
+
+ // 立即更新墨迹渐隐控制开关的可见性
+ UpdateInkFadeControlVisibility();
+
+ LogHelper.WriteLogToFile($"在笔工具菜单中隐藏墨迹渐隐控制开关已{(Settings.Canvas.HideInkFadeControlInPenMenu ? "启用" : "禁用")}", LogHelper.LogType.Event);
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteLogToFile($"切换在笔工具菜单中隐藏墨迹渐隐控制开关时出错: {ex.Message}", LogHelper.LogType.Error);
+ }
+ }
+
+ ///
+ /// 更新墨迹渐隐控制开关的可见性
+ ///
+ private void UpdateInkFadeControlVisibility()
+ {
+ try
+ {
+ bool isHidden = Settings.Canvas.HideInkFadeControlInPenMenu;
+
+ // 控制 InkFadeControlPanel1(批注子面板中)的可见性
+ if (InkFadeControlPanel1 != null)
+ {
+ InkFadeControlPanel1.Visibility = isHidden ? Visibility.Collapsed : Visibility.Visible;
+ }
+
+ // 控制 InkFadeControlPanel2(普通画笔面板中)的可见性
+ if (InkFadeControlPanel2 != null)
+ {
+ InkFadeControlPanel2.Visibility = isHidden ? Visibility.Collapsed : Visibility.Visible;
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteLogToFile($"更新墨迹渐隐控制面板可见性时出错: {ex.Message}", LogHelper.LogType.Error);
+ }
+ }
+
///
/// PPT放映模式显示手势按钮开关切换事件处理
///
diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
index b78b7e20..32408a0f 100644
--- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
+++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
@@ -1205,6 +1205,15 @@ private void LoadInkFadeSettings()
_inkFadeManager.UpdateFadeTime(Settings.Canvas.InkFadeTime);
}
+ // 同步在笔工具菜单中隐藏墨迹渐隐控制开关的设置
+ if (ToggleSwitchHideInkFadeControlInPenMenu != null)
+ {
+ ToggleSwitchHideInkFadeControlInPenMenu.IsOn = Settings.Canvas.HideInkFadeControlInPenMenu;
+ }
+
+ // 根据设置更新墨迹渐隐控制开关的可见性
+ UpdateInkFadeControlVisibility();
+
LogHelper.WriteLogToFile("墨迹渐隐设置已加载", LogHelper.LogType.Event);
}
catch (Exception ex)
diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs
index 537da24e..c99d0d19 100644
--- a/Ink Canvas/Resources/Settings.cs
+++ b/Ink Canvas/Resources/Settings.cs
@@ -106,6 +106,8 @@ public class Canvas
public bool EnableInkFade { get; set; } = false;
[JsonProperty("inkFadeTime")]
public int InkFadeTime { get; set; } = 3000; // 墨迹渐隐时间(毫秒)
+ [JsonProperty("hideInkFadeControlInPenMenu")]
+ public bool HideInkFadeControlInPenMenu { get; set; } = false; // 是否在笔工具菜单中隐藏墨迹渐隐控制开关
}
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml b/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml
index 5201d4e1..aff58eca 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml
@@ -249,6 +249,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs
index 63db2229..d2a9cb50 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/CanvasAndInkPanel.xaml.cs
@@ -360,6 +360,11 @@ private void ToggleSwitch_Click(object sender, RoutedEventArgs e)
}
break;
+ case "HideInkFadeControlInPenMenu":
+ // 调用 MainWindow 中的方法
+ MainWindowSettingsHelper.InvokeToggleSwitchToggled("ToggleSwitchHideInkFadeControlInPenMenu", newState);
+ break;
+
case "EnableAutoSaveStrokes":
// 调用 MainWindow 中的方法
MainWindowSettingsHelper.InvokeToggleSwitchToggled("ToggleSwitchEnableAutoSaveStrokes", newState);