From daf0db312b40d3dbfee96aef37e9c411e8086cda Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Sat, 13 Dec 2025 18:02:05 +0800 Subject: [PATCH] =?UTF-8?q?improve:=E4=BB=85PPT=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化浮动栏显示 --- Ink Canvas/Helpers/PPTInkManager.cs | 1 - Ink Canvas/MainWindow.xaml.cs | 1 - .../MainWindow_cs/MW_FloatingBarIcons.cs | 21 ++++++++++++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Ink Canvas/Helpers/PPTInkManager.cs b/Ink Canvas/Helpers/PPTInkManager.cs index 5249d39e..7f60ffce 100644 --- a/Ink Canvas/Helpers/PPTInkManager.cs +++ b/Ink Canvas/Helpers/PPTInkManager.cs @@ -303,7 +303,6 @@ namespace Ink_Canvas.Helpers if (positionToSave > 0) { File.WriteAllText(Path.Combine(folderPath, "Position"), positionToSave.ToString()); - LogHelper.WriteLogToFile($"已保存PPT播放位置: {positionToSave}", LogHelper.LogType.Trace); } } catch (Exception ex) diff --git a/Ink Canvas/MainWindow.xaml.cs b/Ink Canvas/MainWindow.xaml.cs index 5a2ac649..8863f794 100644 --- a/Ink Canvas/MainWindow.xaml.cs +++ b/Ink Canvas/MainWindow.xaml.cs @@ -3022,7 +3022,6 @@ namespace Ink_Canvas else if (!isInSlideShow && IsVisible) { Hide(); - LogHelper.WriteLogToFile("PPT放映结束,隐藏主窗口(仅PPT模式)", LogHelper.LogType.Trace); } } else diff --git a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs index 59058272..e13f851a 100644 --- a/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs +++ b/Ink Canvas/MainWindow_cs/MW_FloatingBarIcons.cs @@ -1812,7 +1812,7 @@ namespace Ink_Canvas }); } - public async void PureViewboxFloatingBarMarginAnimationInPPTMode() + public async void PureViewboxFloatingBarMarginAnimationInPPTMode(bool isRetry = false) { // 新增:在白板模式下不执行浮动栏动画 if (currentMode == 1) @@ -1908,6 +1908,25 @@ namespace Ink_Canvas { ViewboxFloatingBar.Margin = new Thickness(pos.X, pos.Y, -2000, -200); }); + + if (Settings.ModeSettings.IsPPTOnlyMode && !isRetry) + { + await Task.Delay(2000); // 等待动画完成后再检查 + + bool isFloatingBarVisible = false; + await Dispatcher.InvokeAsync(() => + { + // 检查浮动栏是否真的显示了 + isFloatingBarVisible = ViewboxFloatingBar.Visibility == Visibility.Visible && + ViewboxFloatingBar.Margin.Left >= 0 && + ViewboxFloatingBar.Margin.Top >= 0; + }); + + if (!isFloatingBarVisible) + { + PureViewboxFloatingBarMarginAnimationInPPTMode(true); + } + } } internal async void CursorIcon_Click(object sender, RoutedEventArgs e)