From 07c7acc37acd64ec300000c20aaaa59ddf4173e6 Mon Sep 17 00:00:00 2001
From: CJKmkp <2564608840@qq.com>
Date: Mon, 11 Aug 2025 19:18:21 +0800
Subject: [PATCH] =?UTF-8?q?add:=E6=8C=89=E9=92=AE=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E6=8E=A7=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Ink Canvas/MainWindow.xaml | 13 ++++++++
Ink Canvas/MainWindow_cs/MW_Settings.cs | 33 +++++++++++++++++++
Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs | 1 +
Ink Canvas/Resources/Settings.cs | 3 ++
4 files changed, 50 insertions(+)
diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml
index 38fc1633..bc8ed2b3 100644
--- a/Ink Canvas/MainWindow.xaml
+++ b/Ink Canvas/MainWindow.xaml
@@ -1227,6 +1227,19 @@
Toggled="ToggleSwitchShowHideButton_Toggled" />
+
+
+
+
+
+
+
+
+
+
diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs
index ebf4cd3e..431fae48 100644
--- a/Ink Canvas/MainWindow_cs/MW_Settings.cs
+++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs
@@ -1861,6 +1861,7 @@ namespace Ink_Canvas
Settings.Appearance.IsShowClearButton = true;
Settings.Appearance.IsShowWhiteboardButton = true;
Settings.Appearance.IsShowHideButton = true;
+ Settings.Appearance.EraserDisplayOption = 0;
Settings.Automation.IsAutoFoldInEasiNote = true;
Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno = true;
@@ -2387,6 +2388,14 @@ namespace Ink_Canvas
SaveSettingsToFile();
}
+ private void ComboBoxEraserDisplayOption_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ if (!isLoaded) return;
+ Settings.Appearance.EraserDisplayOption = ComboBoxEraserDisplayOption.SelectedIndex;
+ UpdateFloatingBarButtonsVisibility();
+ SaveSettingsToFile();
+ }
+
private void UpdateFloatingBarButtonsVisibility()
{
// 根据设置更新浮动栏按钮的可见性
@@ -2415,6 +2424,30 @@ namespace Ink_Canvas
// 隐藏按钮
if (Fold_Icon != null)
Fold_Icon.Visibility = Settings.Appearance.IsShowHideButton ? Visibility.Visible : Visibility.Collapsed;
+
+ // 橡皮按钮显示控制
+ if (Eraser_Icon != null && EraserByStrokes_Icon != null)
+ {
+ switch (Settings.Appearance.EraserDisplayOption)
+ {
+ case 0: // 两个都显示
+ Eraser_Icon.Visibility = Visibility.Visible;
+ EraserByStrokes_Icon.Visibility = Visibility.Visible;
+ break;
+ case 1: // 仅显示面积擦
+ Eraser_Icon.Visibility = Visibility.Visible;
+ EraserByStrokes_Icon.Visibility = Visibility.Collapsed;
+ break;
+ case 2: // 仅显示线擦
+ Eraser_Icon.Visibility = Visibility.Collapsed;
+ EraserByStrokes_Icon.Visibility = Visibility.Visible;
+ break;
+ case 3: // 都不显示
+ Eraser_Icon.Visibility = Visibility.Collapsed;
+ EraserByStrokes_Icon.Visibility = Visibility.Collapsed;
+ break;
+ }
+ }
}
catch (Exception ex)
{
diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
index d4bcad12..1b5cb7cb 100644
--- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
+++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
@@ -313,6 +313,7 @@ namespace Ink_Canvas
ToggleSwitchShowClearButton.IsOn = Settings.Appearance.IsShowClearButton;
ToggleSwitchShowWhiteboardButton.IsOn = Settings.Appearance.IsShowWhiteboardButton;
ToggleSwitchShowHideButton.IsOn = Settings.Appearance.IsShowHideButton;
+ ComboBoxEraserDisplayOption.SelectedIndex = Settings.Appearance.EraserDisplayOption;
// 应用浮动栏按钮可见性设置
UpdateFloatingBarButtonsVisibility();
diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs
index a33e1407..6f55be67 100644
--- a/Ink Canvas/Resources/Settings.cs
+++ b/Ink Canvas/Resources/Settings.cs
@@ -208,6 +208,9 @@ namespace Ink_Canvas
public bool IsShowWhiteboardButton { get; set; } = true;
[JsonProperty("isShowHideButton")]
public bool IsShowHideButton { get; set; } = true;
+
+ [JsonProperty("eraserDisplayOption")]
+ public int EraserDisplayOption { get; set; } = 0;
}
public class PowerPointSettings