improve:白板翻页性能

This commit is contained in:
2026-02-22 12:42:47 +08:00
parent 705f4fd155
commit 3d0a960337
2 changed files with 11 additions and 5 deletions
+1 -3
View File
@@ -200,10 +200,8 @@ namespace Ink_Canvas
inkCanvas.PreviewMouseDown += inkCanvas_PreviewMouseDown;
inkCanvas.StylusDown += inkCanvas_StylusDown;
inkCanvas.MouseRightButtonUp += InkCanvas_MouseRightButtonUp;
// 注册橡皮擦操作结束事件(StylusUp 用于自动切换回批注;MouseUp 在 MW_ShapeDrawing.cs 的 inkCanvas_MouseUp 中会调用 HandleEraserOperationEnded
// 注册橡皮擦操作结束事件(StylusUp 用于自动切换回批注;MouseUp 由 XAML 绑定触发,无需再单独注册)
inkCanvas.StylusUp += inkCanvas_StylusUp;
inkCanvas.MouseUp += inkCanvas_MouseUp;
// 初始化第一页Canvas
var firstCanvas = new System.Windows.Controls.Canvas();
+10 -2
View File
@@ -512,11 +512,19 @@ namespace Ink_Canvas
if (pageIndex == CurrentWhiteboardIndex)
{
ClearStrokes(true);
if (CurrentWhiteboardIndex != WhiteboardTotalCount)
for (var i = CurrentWhiteboardIndex; i <= WhiteboardTotalCount; i++)
var oldTotal = WhiteboardTotalCount;
if (CurrentWhiteboardIndex != oldTotal)
{
for (var i = CurrentWhiteboardIndex; i < oldTotal; i++)
TimeMachineHistories[i] = TimeMachineHistories[i + 1];
}
else
{
CurrentWhiteboardIndex--;
}
TimeMachineHistories[oldTotal] = null;
WhiteboardTotalCount--;
RestoreStrokes();
}