improve:白板翻页性能
This commit is contained in:
@@ -200,10 +200,8 @@ namespace Ink_Canvas
|
|||||||
inkCanvas.PreviewMouseDown += inkCanvas_PreviewMouseDown;
|
inkCanvas.PreviewMouseDown += inkCanvas_PreviewMouseDown;
|
||||||
inkCanvas.StylusDown += inkCanvas_StylusDown;
|
inkCanvas.StylusDown += inkCanvas_StylusDown;
|
||||||
inkCanvas.MouseRightButtonUp += InkCanvas_MouseRightButtonUp;
|
inkCanvas.MouseRightButtonUp += InkCanvas_MouseRightButtonUp;
|
||||||
|
// 注册橡皮擦操作结束事件(StylusUp 用于自动切换回批注;MouseUp 由 XAML 绑定触发,无需再单独注册)
|
||||||
// 注册橡皮擦操作结束事件(StylusUp 用于自动切换回批注;MouseUp 在 MW_ShapeDrawing.cs 的 inkCanvas_MouseUp 中会调用 HandleEraserOperationEnded)
|
|
||||||
inkCanvas.StylusUp += inkCanvas_StylusUp;
|
inkCanvas.StylusUp += inkCanvas_StylusUp;
|
||||||
inkCanvas.MouseUp += inkCanvas_MouseUp;
|
|
||||||
|
|
||||||
// 初始化第一页Canvas
|
// 初始化第一页Canvas
|
||||||
var firstCanvas = new System.Windows.Controls.Canvas();
|
var firstCanvas = new System.Windows.Controls.Canvas();
|
||||||
|
|||||||
@@ -512,11 +512,19 @@ namespace Ink_Canvas
|
|||||||
if (pageIndex == CurrentWhiteboardIndex)
|
if (pageIndex == CurrentWhiteboardIndex)
|
||||||
{
|
{
|
||||||
ClearStrokes(true);
|
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];
|
TimeMachineHistories[i] = TimeMachineHistories[i + 1];
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
CurrentWhiteboardIndex--;
|
CurrentWhiteboardIndex--;
|
||||||
|
}
|
||||||
|
|
||||||
|
TimeMachineHistories[oldTotal] = null;
|
||||||
WhiteboardTotalCount--;
|
WhiteboardTotalCount--;
|
||||||
RestoreStrokes();
|
RestoreStrokes();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user