From 8c1d3c024839b2487077d82b3ee094d3cc0e421a Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Sun, 7 Sep 2025 00:20:48 +0800 Subject: [PATCH] fix:issue #168 --- Ink Canvas/MainWindow.xaml.cs | 8 +++++++- Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs | 15 +++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs index 3462638a..722b6456 100644 --- a/Ink Canvas/MainWindow.xaml.cs +++ b/Ink Canvas/MainWindow.xaml.cs @@ -2178,7 +2178,7 @@ namespace Ink_Canvas { if (Settings.PowerPointSettings.ShowGestureButtonInSlideShow) { - // 如果启用了PPT放映模式显示手势按钮,则显示手势按钮(在PPT模式下不依赖手势功能是否启用) + // 如果启用了PPT放映模式显示手势按钮,则检查是否在批注模式下显示手势按钮 CheckEnableTwoFingerGestureBtnVisibility(true); } else @@ -2322,6 +2322,12 @@ namespace Ink_Canvas _globalHotkeyManager.UpdateHotkeyStateForToolMode(isMouseMode); } + // 在PPT放映模式下,工具模式切换时需要更新手势按钮的显示状态 + if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) + { + UpdateGestureButtonVisibilityInPPTMode(); + } + // 执行额外的操作(如果有) additionalActions?.Invoke(); diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs index de865548..8afa8670 100644 --- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs @@ -130,11 +130,11 @@ namespace Ink_Canvas /// private void CheckEnableTwoFingerGestureBtnVisibility(bool isVisible) { - // 在PPT模式下根据设置决定是否显示手势按钮 - if (currentMode == 0 || BtnPPTSlideShowEnd.Visibility == Visibility.Visible) + // 在PPT放映模式下根据设置决定是否显示手势按钮 + if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) { - // 如果启用了PPT放映模式显示手势按钮,则显示手势按钮(在PPT模式下不依赖手势功能是否启用) - if (Settings.PowerPointSettings.ShowGestureButtonInSlideShow && isVisible) + // 如果启用了PPT放映模式显示手势按钮,且当前处于批注模式,则显示手势按钮 + if (Settings.PowerPointSettings.ShowGestureButtonInSlideShow && isVisible && inkCanvas.EditingMode == InkCanvasEditingMode.Ink) { EnableTwoFingerGestureBorder.Visibility = Visibility.Visible; } @@ -145,6 +145,13 @@ namespace Ink_Canvas return; } + // 在屏幕模式(非放映模式)下,不显示手势按钮 + if (currentMode == 0) + { + EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed; + return; + } + if (StackPanelCanvasControls.Visibility != Visibility.Visible || BorderFloatingBarMainControls.Visibility != Visibility.Visible) {