diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml
index 72d2864f..38fc1633 100644
--- a/Ink Canvas/MainWindow.xaml
+++ b/Ink Canvas/MainWindow.xaml
@@ -1155,6 +1155,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs
index 1dac611c..ebf4cd3e 100644
--- a/Ink Canvas/MainWindow_cs/MW_Settings.cs
+++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs
@@ -1853,6 +1853,14 @@ namespace Ink_Canvas
Settings.Appearance.ViewboxFloatingBarOpacityValue = 1.0;
Settings.Appearance.ViewboxFloatingBarOpacityInPPTValue = 1.0;
Settings.Appearance.EnableTrayIcon = true;
+
+ // 浮动栏按钮显示控制默认值
+ Settings.Appearance.IsShowShapeButton = true;
+ Settings.Appearance.IsShowUndoButton = true;
+ Settings.Appearance.IsShowRedoButton = true;
+ Settings.Appearance.IsShowClearButton = true;
+ Settings.Appearance.IsShowWhiteboardButton = true;
+ Settings.Appearance.IsShowHideButton = true;
Settings.Automation.IsAutoFoldInEasiNote = true;
Settings.Automation.IsAutoFoldInEasiNoteIgnoreDesktopAnno = true;
@@ -2329,6 +2337,93 @@ namespace Ink_Canvas
#endregion
+ #region 浮动栏按钮显示控制
+
+ private void ToggleSwitchShowShapeButton_Toggled(object sender, RoutedEventArgs e)
+ {
+ if (!isLoaded) return;
+ Settings.Appearance.IsShowShapeButton = ToggleSwitchShowShapeButton.IsOn;
+ UpdateFloatingBarButtonsVisibility();
+ SaveSettingsToFile();
+ }
+
+ private void ToggleSwitchShowUndoButton_Toggled(object sender, RoutedEventArgs e)
+ {
+ if (!isLoaded) return;
+ Settings.Appearance.IsShowUndoButton = ToggleSwitchShowUndoButton.IsOn;
+ UpdateFloatingBarButtonsVisibility();
+ SaveSettingsToFile();
+ }
+
+ private void ToggleSwitchShowRedoButton_Toggled(object sender, RoutedEventArgs e)
+ {
+ if (!isLoaded) return;
+ Settings.Appearance.IsShowRedoButton = ToggleSwitchShowRedoButton.IsOn;
+ UpdateFloatingBarButtonsVisibility();
+ SaveSettingsToFile();
+ }
+
+ private void ToggleSwitchShowClearButton_Toggled(object sender, RoutedEventArgs e)
+ {
+ if (!isLoaded) return;
+ Settings.Appearance.IsShowClearButton = ToggleSwitchShowClearButton.IsOn;
+ UpdateFloatingBarButtonsVisibility();
+ SaveSettingsToFile();
+ }
+
+ private void ToggleSwitchShowWhiteboardButton_Toggled(object sender, RoutedEventArgs e)
+ {
+ if (!isLoaded) return;
+ Settings.Appearance.IsShowWhiteboardButton = ToggleSwitchShowWhiteboardButton.IsOn;
+ UpdateFloatingBarButtonsVisibility();
+ SaveSettingsToFile();
+ }
+
+ private void ToggleSwitchShowHideButton_Toggled(object sender, RoutedEventArgs e)
+ {
+ if (!isLoaded) return;
+ Settings.Appearance.IsShowHideButton = ToggleSwitchShowHideButton.IsOn;
+ UpdateFloatingBarButtonsVisibility();
+ SaveSettingsToFile();
+ }
+
+ private void UpdateFloatingBarButtonsVisibility()
+ {
+ // 根据设置更新浮动栏按钮的可见性
+ try
+ {
+ // 形状按钮
+ if (ShapeDrawFloatingBarBtn != null)
+ ShapeDrawFloatingBarBtn.Visibility = Settings.Appearance.IsShowShapeButton ? Visibility.Visible : Visibility.Collapsed;
+
+ // 撤销按钮
+ if (SymbolIconUndo != null)
+ SymbolIconUndo.Visibility = Settings.Appearance.IsShowUndoButton ? Visibility.Visible : Visibility.Collapsed;
+
+ // 重做按钮
+ if (SymbolIconRedo != null)
+ SymbolIconRedo.Visibility = Settings.Appearance.IsShowRedoButton ? Visibility.Visible : Visibility.Collapsed;
+
+ // 清空按钮
+ if (SymbolIconDelete != null)
+ SymbolIconDelete.Visibility = Settings.Appearance.IsShowClearButton ? Visibility.Visible : Visibility.Collapsed;
+
+ // 白板按钮
+ if (WhiteboardFloatingBarBtn != null)
+ WhiteboardFloatingBarBtn.Visibility = Settings.Appearance.IsShowWhiteboardButton ? Visibility.Visible : Visibility.Collapsed;
+
+ // 隐藏按钮
+ if (Fold_Icon != null)
+ Fold_Icon.Visibility = Settings.Appearance.IsShowHideButton ? Visibility.Visible : Visibility.Collapsed;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteLogToFile($"更新浮动栏按钮可见性时出错: {ex.Message}", LogHelper.LogType.Error);
+ }
+ }
+
+ #endregion
+
public static void SaveSettingsToFile()
{
var text = JsonConvert.SerializeObject(Settings, Formatting.Indented);
diff --git a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
index faea06b2..d4bcad12 100644
--- a/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
+++ b/Ink Canvas/MainWindow_cs/MW_SettingsToLoad.cs
@@ -306,6 +306,17 @@ namespace Ink_Canvas
ToggleSwitchEnableChickenSoupInWhiteboardMode.IsOn =
Settings.Appearance.EnableChickenSoupInWhiteboardMode;
+ // 浮动栏按钮显示控制开关初始化
+ ToggleSwitchShowShapeButton.IsOn = Settings.Appearance.IsShowShapeButton;
+ ToggleSwitchShowUndoButton.IsOn = Settings.Appearance.IsShowUndoButton;
+ ToggleSwitchShowRedoButton.IsOn = Settings.Appearance.IsShowRedoButton;
+ ToggleSwitchShowClearButton.IsOn = Settings.Appearance.IsShowClearButton;
+ ToggleSwitchShowWhiteboardButton.IsOn = Settings.Appearance.IsShowWhiteboardButton;
+ ToggleSwitchShowHideButton.IsOn = Settings.Appearance.IsShowHideButton;
+
+ // 应用浮动栏按钮可见性设置
+ UpdateFloatingBarButtonsVisibility();
+
SystemEvents_UserPreferenceChanged(null, null);
}
else
diff --git a/Ink Canvas/Resources/Settings.cs b/Ink Canvas/Resources/Settings.cs
index e17be230..a33e1407 100644
--- a/Ink Canvas/Resources/Settings.cs
+++ b/Ink Canvas/Resources/Settings.cs
@@ -194,6 +194,20 @@ namespace Ink_Canvas
public bool IsShowModeFingerToggleSwitch { get; set; } = true;
[JsonProperty("theme")]
public int Theme { get; set; }
+
+ // 浮动栏按钮显示控制
+ [JsonProperty("isShowShapeButton")]
+ public bool IsShowShapeButton { get; set; } = true;
+ [JsonProperty("isShowUndoButton")]
+ public bool IsShowUndoButton { get; set; } = true;
+ [JsonProperty("isShowRedoButton")]
+ public bool IsShowRedoButton { get; set; } = true;
+ [JsonProperty("isShowClearButton")]
+ public bool IsShowClearButton { get; set; } = true;
+ [JsonProperty("isShowWhiteboardButton")]
+ public bool IsShowWhiteboardButton { get; set; } = true;
+ [JsonProperty("isShowHideButton")]
+ public bool IsShowHideButton { get; set; } = true;
}
public class PowerPointSettings