From b1459901d03756d1e1c8d74f25a44e250a373f5c Mon Sep 17 00:00:00 2001
From: CJKmkp <2564608840@qq.com>
Date: Sun, 28 Dec 2025 12:35:05 +0800
Subject: [PATCH] fix:issue #329
---
Ink Canvas/MainWindow.xaml.cs | 3 -
.../MainWindow_cs/MW_FloatingBarIcons.cs | 150 ------------------
Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs | 12 --
Ink Canvas/MainWindow_cs/MW_TouchEvents.cs | 11 --
4 files changed, 176 deletions(-)
diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs
index ede1c388..c477b173 100644
--- a/Ink Canvas/MainWindow.xaml.cs
+++ b/Ink Canvas/MainWindow.xaml.cs
@@ -265,9 +265,6 @@ namespace Ink_Canvas
Activated += Window_Activated;
Deactivated += Window_Deactivated;
- // 为浮动栏按钮添加触摸事件支持
- AddTouchSupportToFloatingBarButtons();
-
// 为滑块控件添加触摸事件支持
AddTouchSupportToSliders();
diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs
index 0fc0c2d0..113e1454 100644
--- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs
+++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs
@@ -3928,154 +3928,6 @@ namespace Ink_Canvas
#endregion
- #region 触摸事件支持
-
- ///
- /// 为浮动栏按钮添加触摸和手写笔事件支持,让触摸和手写笔点击直接调用对应的鼠标点击方法
- ///
- private void AddTouchSupportToFloatingBarButtons()
- {
- // 为主要的浮动栏按钮添加触摸和手写笔事件支持
- if (SymbolIconSelect != null)
- {
- SymbolIconSelect.TouchDown += (s, e) => SymbolIconSelect_MouseUp(s, null);
- SymbolIconSelect.StylusDown += (s, e) => SymbolIconSelect_MouseUp(s, null);
- }
-
- if (SymbolIconUndo != null)
- {
- SymbolIconUndo.TouchDown += (s, e) => SymbolIconUndo_MouseUp(s, null);
- SymbolIconUndo.StylusDown += (s, e) => SymbolIconUndo_MouseUp(s, null);
- }
-
- if (SymbolIconRedo != null)
- {
- SymbolIconRedo.TouchDown += (s, e) => SymbolIconRedo_MouseUp(s, null);
- SymbolIconRedo.StylusDown += (s, e) => SymbolIconRedo_MouseUp(s, null);
- }
-
- if (SymbolIconDelete != null)
- {
- SymbolIconDelete.TouchDown += (s, e) => SymbolIconDelete_MouseUp(s, null);
- SymbolIconDelete.StylusDown += (s, e) => SymbolIconDelete_MouseUp(s, null);
- }
-
- if (ToolsFloatingBarBtn != null)
- {
- ToolsFloatingBarBtn.TouchDown += (s, e) => SymbolIconTools_MouseUp(s, null);
- ToolsFloatingBarBtn.StylusDown += (s, e) => SymbolIconTools_MouseUp(s, null);
- }
-
- if (RandomDrawPanel != null)
- {
- RandomDrawPanel.TouchDown += (s, e) => SymbolIconRand_MouseUp(s, null);
- RandomDrawPanel.StylusDown += (s, e) => SymbolIconRand_MouseUp(s, null);
- }
-
- if (SingleDrawPanel != null)
- {
- SingleDrawPanel.TouchDown += (s, e) => SymbolIconRandOne_MouseUp(s, null);
- SingleDrawPanel.StylusDown += (s, e) => SymbolIconRandOne_MouseUp(s, null);
- }
-
- // 注意:Screenshot和Settings按钮在XAML中没有直接的Name属性,需要通过其他方式绑定
- // 这些按钮的事件处理已经在XAML中通过MouseUp绑定
-
- if (BorderFloatingBarMoveControls != null)
- {
- BorderFloatingBarMoveControls.TouchDown += (s, e) => SymbolIconEmoji_MouseUp(s, null);
- BorderFloatingBarMoveControls.StylusDown += (s, e) => SymbolIconEmoji_MouseUp(s, null);
- }
-
- // 白板模式下的按钮不添加触摸事件支持,保持原有的鼠标事件处理
-
- // 为快捷调色盘按钮添加触摸和手写笔事件支持
- if (QuickColorWhite != null)
- {
- QuickColorWhite.TouchDown += (s, e) => QuickColorWhite_Click(s, null);
- QuickColorWhite.StylusDown += (s, e) => QuickColorWhite_Click(s, null);
- }
-
- if (QuickColorOrange != null)
- {
- QuickColorOrange.TouchDown += (s, e) => QuickColorOrange_Click(s, null);
- QuickColorOrange.StylusDown += (s, e) => QuickColorOrange_Click(s, null);
- }
-
- if (QuickColorYellow != null)
- {
- QuickColorYellow.TouchDown += (s, e) => QuickColorYellow_Click(s, null);
- QuickColorYellow.StylusDown += (s, e) => QuickColorYellow_Click(s, null);
- }
-
- if (QuickColorBlack != null)
- {
- QuickColorBlack.TouchDown += (s, e) => QuickColorBlack_Click(s, null);
- QuickColorBlack.StylusDown += (s, e) => QuickColorBlack_Click(s, null);
- }
-
- if (QuickColorBlue != null)
- {
- QuickColorBlue.TouchDown += (s, e) => QuickColorBlue_Click(s, null);
- QuickColorBlue.StylusDown += (s, e) => QuickColorBlue_Click(s, null);
- }
-
- if (QuickColorRed != null)
- {
- QuickColorRed.TouchDown += (s, e) => QuickColorRed_Click(s, null);
- QuickColorRed.StylusDown += (s, e) => QuickColorRed_Click(s, null);
- }
-
- if (QuickColorGreen != null)
- {
- QuickColorGreen.TouchDown += (s, e) => QuickColorGreen_Click(s, null);
- QuickColorGreen.StylusDown += (s, e) => QuickColorGreen_Click(s, null);
- }
-
- if (QuickColorPurple != null)
- {
- QuickColorPurple.TouchDown += (s, e) => QuickColorPurple_Click(s, null);
- QuickColorPurple.StylusDown += (s, e) => QuickColorPurple_Click(s, null);
- }
-
- // 单行快捷调色盘
- if (QuickColorWhiteSingle != null)
- {
- QuickColorWhiteSingle.TouchDown += (s, e) => QuickColorWhite_Click(s, null);
- QuickColorWhiteSingle.StylusDown += (s, e) => QuickColorWhite_Click(s, null);
- }
-
- if (QuickColorOrangeSingle != null)
- {
- QuickColorOrangeSingle.TouchDown += (s, e) => QuickColorOrange_Click(s, null);
- QuickColorOrangeSingle.StylusDown += (s, e) => QuickColorOrange_Click(s, null);
- }
-
- if (QuickColorYellowSingle != null)
- {
- QuickColorYellowSingle.TouchDown += (s, e) => QuickColorYellow_Click(s, null);
- QuickColorYellowSingle.StylusDown += (s, e) => QuickColorYellow_Click(s, null);
- }
-
- if (QuickColorBlackSingle != null)
- {
- QuickColorBlackSingle.TouchDown += (s, e) => QuickColorBlack_Click(s, null);
- QuickColorBlackSingle.StylusDown += (s, e) => QuickColorBlack_Click(s, null);
- }
-
- if (QuickColorRedSingle != null)
- {
- QuickColorRedSingle.TouchDown += (s, e) => QuickColorRed_Click(s, null);
- QuickColorRedSingle.StylusDown += (s, e) => QuickColorRed_Click(s, null);
- }
-
- if (QuickColorGreenSingle != null)
- {
- QuickColorGreenSingle.TouchDown += (s, e) => QuickColorGreen_Click(s, null);
- QuickColorGreenSingle.StylusDown += (s, e) => QuickColorGreen_Click(s, null);
- }
- }
-
///
/// 强制禁用所有双指手势功能(当多指书写模式启用时)
///
@@ -4103,7 +3955,5 @@ namespace Ink_Canvas
BoardToggleSwitchEnableTwoFingerRotation.IsOn = false;
}
- #endregion
-
}
}
diff --git a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs
index 9a862342..5e38e500 100644
--- a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs
+++ b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs
@@ -1817,18 +1817,6 @@ namespace Ink_Canvas
private void inkCanvas_MouseDown(object sender, MouseButtonEventArgs e)
{
- // 检查鼠标点击是否发生在浮动栏区域,如果是则允许事件传播到浮动栏按钮
- var mousePoint = e.GetPosition(this);
- var floatingBarBounds = ViewboxFloatingBar.TransformToAncestor(this).TransformBounds(
- new Rect(0, 0, ViewboxFloatingBar.ActualWidth, ViewboxFloatingBar.ActualHeight));
-
- // 如果鼠标点击发生在浮动栏区域,不阻止事件传播,让浮动栏按钮能够接收鼠标事件
- if (floatingBarBounds.Contains(mousePoint))
- {
- // 不设置 ViewboxFloatingBar.IsHitTestVisible = false,让浮动栏按钮能够接收鼠标事件
- return;
- }
-
inkCanvas.CaptureMouse();
ViewboxFloatingBar.IsHitTestVisible = false;
BlackboardUIGridForInkReplay.IsHitTestVisible = false;
diff --git a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs
index 13e40318..421ff4f4 100644
--- a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs
+++ b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs
@@ -211,17 +211,6 @@ namespace Ink_Canvas
private void MainWindow_TouchDown(object sender, TouchEventArgs e)
{
- // 检查触摸是否发生在浮动栏区域,如果是则允许事件传播到浮动栏按钮
- var touchPoint = e.GetTouchPoint(this);
- var floatingBarBounds = ViewboxFloatingBar.TransformToAncestor(this).TransformBounds(
- new Rect(0, 0, ViewboxFloatingBar.ActualWidth, ViewboxFloatingBar.ActualHeight));
-
- // 如果触摸发生在浮动栏区域,不阻止事件传播,让浮动栏按钮能够接收触摸事件
- if (floatingBarBounds.Contains(touchPoint.Position))
- {
- // 不设置 ViewboxFloatingBar.IsHitTestVisible = false,让浮动栏按钮能够接收触摸事件
- return;
- }
if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint
|| inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke