fix:开启部分功能后手势面板显示异常

This commit is contained in:
2025-08-23 18:58:57 +08:00
parent 8719677f11
commit a5eb1dfca7
3 changed files with 23 additions and 9 deletions
+2 -1
View File
@@ -29,9 +29,10 @@ namespace Ink_Canvas
AnimationsHelper.HideWithSlideAndFade(BlackboardCenterSide); AnimationsHelper.HideWithSlideAndFade(BlackboardCenterSide);
AnimationsHelper.HideWithSlideAndFade(BlackboardRightSide); AnimationsHelper.HideWithSlideAndFade(BlackboardRightSide);
// 在PPT模式下隐藏手势面板 // 在PPT模式下隐藏手势面板和手势按钮
AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder);
AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder);
EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed;
} }
BtnHideInkCanvas_Click(BtnHideInkCanvas, null); BtnHideInkCanvas_Click(BtnHideInkCanvas, null);
@@ -124,6 +124,13 @@ namespace Ink_Canvas
/// </summary> /// </summary>
private void CheckEnableTwoFingerGestureBtnVisibility(bool isVisible) private void CheckEnableTwoFingerGestureBtnVisibility(bool isVisible)
{ {
// 在PPT模式下始终隐藏手势按钮
if (currentMode == 0 || BtnPPTSlideShowEnd.Visibility == Visibility.Visible)
{
EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed;
return;
}
if (StackPanelCanvasControls.Visibility != Visibility.Visible if (StackPanelCanvasControls.Visibility != Visibility.Visible
|| BorderFloatingBarMainControls.Visibility != Visibility.Visible) || BorderFloatingBarMainControls.Visibility != Visibility.Visible)
{ {
@@ -131,9 +138,7 @@ namespace Ink_Canvas
} }
else if (isVisible) else if (isVisible)
{ {
if (BtnPPTSlideShowEnd.Visibility == Visibility.Visible) EnableTwoFingerGestureBorder.Visibility = Visibility.Visible;
EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed;
else EnableTwoFingerGestureBorder.Visibility = Visibility.Visible;
} }
else else
{ {
@@ -2472,9 +2477,10 @@ namespace Ink_Canvas
DeselectUIElement(); DeselectUIElement();
// 在PPT模式下隐藏手势面板 // 在PPT模式下隐藏手势面板和手势按钮
AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder);
AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder);
EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed;
SaveStrokes(true); SaveStrokes(true);
ClearStrokes(true); ClearStrokes(true);
@@ -2521,9 +2527,10 @@ namespace Ink_Canvas
// 取消任何UI元素的选择 // 取消任何UI元素的选择
DeselectUIElement(); DeselectUIElement();
// 在PPT模式下隐藏手势面板 // 在PPT模式下隐藏手势面板和手势按钮
AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder);
AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder);
EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed;
SaveStrokes(); SaveStrokes();
ClearStrokes(true); ClearStrokes(true);
+9 -3
View File
@@ -292,9 +292,10 @@ namespace Ink_Canvas
BorderFloatingBarMainControls.Visibility = Visibility.Visible; BorderFloatingBarMainControls.Visibility = Visibility.Visible;
// 在PPT模式下隐藏手势面板 // 在PPT模式下隐藏手势面板和手势按钮
AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(TwoFingerGestureBorder);
AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder); AnimationsHelper.HideWithSlideAndFade(BoardTwoFingerGestureBorder);
EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed;
if (Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow && if (Settings.PowerPointSettings.IsShowCanvasAtNewSlideShow &&
!Settings.Automation.IsAutoFoldInPPTSlideShow) !Settings.Automation.IsAutoFoldInPPTSlideShow)
@@ -398,12 +399,17 @@ namespace Ink_Canvas
// 注意:这里只清空索引0的备份,不影响白板页面的墨迹(索引1及以上) // 注意:这里只清空索引0的备份,不影响白板页面的墨迹(索引1及以上)
TimeMachineHistories[0] = null; TimeMachineHistories[0] = null;
// 退出PPT模式时恢复手势面板的显示状态 // 退出PPT模式时恢复手势面板和手势按钮的显示状态
if (Settings.Gesture.IsEnableTwoFingerGesture && ToggleSwitchEnableMultiTouchMode.IsOn) if (Settings.Gesture.IsEnableTwoFingerGesture && ToggleSwitchEnableMultiTouchMode.IsOn)
{ {
// 根据手势设置决定是否显示手势面板 // 根据手势设置决定是否显示手势面板和手势按钮
CheckEnableTwoFingerGestureBtnVisibility(true); CheckEnableTwoFingerGestureBtnVisibility(true);
} }
else
{
// 如果手势功能未启用,确保手势按钮保持隐藏
EnableTwoFingerGestureBorder.Visibility = Visibility.Collapsed;
}
if (GridTransparencyFakeBackground.Background != Brushes.Transparent) if (GridTransparencyFakeBackground.Background != Brushes.Transparent)
BtnHideInkCanvas_Click(BtnHideInkCanvas, null); BtnHideInkCanvas_Click(BtnHideInkCanvas, null);