From 5d13c8b543f26a7172543c19759b8f269551e890 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Sat, 30 Aug 2025 23:14:00 +0800 Subject: [PATCH] =?UTF-8?q?improve:=E6=8F=92=E5=85=A5=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ink Canvas/MainWindow_cs/MW_TimeMachine.cs | 28 ++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs b/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs index 2d9ea05a..c663f058 100644 --- a/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs +++ b/Ink Canvas/MainWindow_cs/MW_TimeMachine.cs @@ -190,13 +190,33 @@ namespace Ink_Canvas { if (item.InsertedElement is Image img) { - // 重新应用CenterAndScaleElement变换 - CenterAndScaleElement(img); + // 检查图片是否有位置信息,如果没有则应用居中 + double left = InkCanvas.GetLeft(img); + double top = InkCanvas.GetTop(img); + + if (double.IsNaN(left) || double.IsNaN(top)) + { + // 图片没有位置信息,应用居中 + CenterAndScaleElement(img); + } + + // 重新绑定事件处理器 + BindElementEvents(img); } else if (item.InsertedElement is MediaElement media) { - // 重新应用CenterAndScaleElement变换 - CenterAndScaleElement(media); + // 检查媒体元素是否有位置信息,如果没有则应用居中 + double left = InkCanvas.GetLeft(media); + double top = InkCanvas.GetTop(media); + + if (double.IsNaN(left) || double.IsNaN(top)) + { + // 媒体元素没有位置信息,应用居中 + CenterAndScaleElement(media); + } + + // 重新绑定事件处理器 + BindElementEvents(media); } } }