From 3509036d855a2943af88df8005bdc29efb7f422a Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Fri, 3 Oct 2025 09:04:40 +0800 Subject: [PATCH] fix:issue #219 --- Ink Canvas/MainWindow.xaml | 4 ++-- Ink Canvas/MainWindow_cs/MW_Settings.cs | 28 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index d9ee4f03..192642cc 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -1467,8 +1467,8 @@ - + diff --git a/Ink Canvas/MainWindow_cs/MW_Settings.cs b/Ink Canvas/MainWindow_cs/MW_Settings.cs index 2dac6af0..1d70fe8f 100644 --- a/Ink Canvas/MainWindow_cs/MW_Settings.cs +++ b/Ink Canvas/MainWindow_cs/MW_Settings.cs @@ -1054,6 +1054,34 @@ namespace Ink_Canvas PPTBtnPreviewLBTransform.X = scaledMarginOffset + (lbPosition * scaleX); PPTBtnPreviewRBTransform.X = -(scaledMarginOffset + (rbPosition * scaleX)); + + // 计算工具栏尺寸 + var dpiScaleX = 1.0; + var dpiScaleY = 1.0; + try + { + var source = PresentationSource.FromVisual(this); + if (source?.CompositionTarget != null) + { + var transform = source.CompositionTarget.TransformToDevice; + dpiScaleX = transform.M11; + dpiScaleY = transform.M22; + } + } + catch + { + dpiScaleX = 1.0; + dpiScaleY = 1.0; + } + + // 计算工具栏的实际尺寸 + const double baseToolbarHeight = 20.0; + double actualToolbarHeight = baseToolbarHeight * dpiScaleY; + double scaledToolbarHeight = actualToolbarHeight * scaleY; + + // 设置工具栏尺寸 + PPTBtnPreviewToolbar.Height = scaledToolbarHeight; + PPTBtnPreviewToolbar.Width = previewWidth; } private void ToggleSwitchShowCursor_Toggled(object sender, RoutedEventArgs e)