From 93bef2e14412be3978c24a0f26052282ea8c72f0 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Mon, 21 Jul 2025 10:14:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E7=99=BD=E6=9D=BF=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E8=A7=A6?= =?UTF-8?q?=E6=91=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/AssemblyInfo.cs | 4 +-- Ink Canvas/MainWindow.xaml | 8 +++-- Ink Canvas/MainWindow.xaml.cs | 48 +++++++++++++++++++++++++++ Ink Canvas/Properties/AssemblyInfo.cs | 4 +-- 4 files changed, 58 insertions(+), 6 deletions(-) diff --git a/Ink Canvas/AssemblyInfo.cs b/Ink Canvas/AssemblyInfo.cs index 6b93c545..4bd582e6 100644 --- a/Ink Canvas/AssemblyInfo.cs +++ b/Ink Canvas/AssemblyInfo.cs @@ -49,5 +49,5 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.7.1.6")] -[assembly: AssemblyFileVersion("1.7.1.6")] +[assembly: AssemblyVersion("1.7.1.7")] +[assembly: AssemblyFileVersion("1.7.1.7")] diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index 7713874c..a9d8adee 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -3155,7 +3155,9 @@ + ForceUseSmoothScroll="True" + PanningMode="VerticalOnly" + IsManipulationEnabled="True"> + ForceUseSmoothScroll="True" + PanningMode="VerticalOnly" + IsManipulationEnabled="True"> { + leftIsTouching = true; + leftTouchStartY = e.GetTouchPoint(BlackBoardLeftSidePageListScrollViewer).Position.Y; + leftScrollStartOffset = BlackBoardLeftSidePageListScrollViewer.VerticalOffset; + BlackBoardLeftSidePageListScrollViewer.CaptureTouch(e.TouchDevice); + e.Handled = true; + }; + BlackBoardLeftSidePageListScrollViewer.TouchMove += (s, e) => { + if (leftIsTouching) { + double currentY = e.GetTouchPoint(BlackBoardLeftSidePageListScrollViewer).Position.Y; + double delta = leftTouchStartY - currentY; + BlackBoardLeftSidePageListScrollViewer.ScrollToVerticalOffset(leftScrollStartOffset + delta); + e.Handled = true; + } + }; + BlackBoardLeftSidePageListScrollViewer.TouchUp += (s, e) => { + leftIsTouching = false; + BlackBoardLeftSidePageListScrollViewer.ReleaseTouchCapture(e.TouchDevice); + e.Handled = true; + }; + double rightTouchStartY = 0; + double rightScrollStartOffset = 0; + bool rightIsTouching = false; + BlackBoardRightSidePageListScrollViewer.TouchDown += (s, e) => { + rightIsTouching = true; + rightTouchStartY = e.GetTouchPoint(BlackBoardRightSidePageListScrollViewer).Position.Y; + rightScrollStartOffset = BlackBoardRightSidePageListScrollViewer.VerticalOffset; + BlackBoardRightSidePageListScrollViewer.CaptureTouch(e.TouchDevice); + e.Handled = true; + }; + BlackBoardRightSidePageListScrollViewer.TouchMove += (s, e) => { + if (rightIsTouching) { + double currentY = e.GetTouchPoint(BlackBoardRightSidePageListScrollViewer).Position.Y; + double delta = rightTouchStartY - currentY; + BlackBoardRightSidePageListScrollViewer.ScrollToVerticalOffset(rightScrollStartOffset + delta); + e.Handled = true; + } + }; + BlackBoardRightSidePageListScrollViewer.TouchUp += (s, e) => { + rightIsTouching = false; + BlackBoardRightSidePageListScrollViewer.ReleaseTouchCapture(e.TouchDevice); + e.Handled = true; + }; } protected override void OnSourceInitialized(EventArgs e) diff --git a/Ink Canvas/Properties/AssemblyInfo.cs b/Ink Canvas/Properties/AssemblyInfo.cs index e1fed332..13d50321 100644 --- a/Ink Canvas/Properties/AssemblyInfo.cs +++ b/Ink Canvas/Properties/AssemblyInfo.cs @@ -49,5 +49,5 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.7.1.6")] -[assembly: AssemblyFileVersion("1.7.1.6")] +[assembly: AssemblyVersion("1.7.1.7")] +[assembly: AssemblyFileVersion("1.7.1.7")]