From 35c8e980f8d446871ebb67380aa9853ec85cce54 Mon Sep 17 00:00:00 2001 From: PrefacedCorg <1876568293@qq.com> Date: Sat, 2 May 2026 15:55:37 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E5=B7=A5=E5=85=B7=E6=A0=8F):=20?= =?UTF-8?q?=E5=B0=86BorderTools=E4=BB=8EBorder=E6=94=B9=E4=B8=BAPopup?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E5=B9=B6=E4=BC=98=E5=8C=96=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 重构工具栏中的BorderTools控件,将其从Border改为Popup控件,并添加自定义位置回调 优化显示/隐藏逻辑,使用IsOpen属性替代Visibility控制 更新相关动画效果调用为对应的Popup版本 调整UI样式和布局,提升视觉一致性 --- .../Controls/Toolbar/ToolbarRegistry.cs | 11 ++- Ink Canvas/MainWindow.xaml | 80 +++++++++---------- Ink Canvas/MainWindow.xaml.cs | 9 ++- Ink Canvas/MainWindow_cs/MW_BoardIcons.cs | 2 +- .../MainWindow_cs/MW_FloatingBarIcons.cs | 21 +++-- .../MainWindow_cs/MW_Save&OpenStrokes.cs | 4 +- Ink Canvas/MainWindow_cs/MW_Toolbar.cs | 6 +- 7 files changed, 74 insertions(+), 59 deletions(-) diff --git a/Ink Canvas/Controls/Toolbar/ToolbarRegistry.cs b/Ink Canvas/Controls/Toolbar/ToolbarRegistry.cs index 46d94d17..e0deb13d 100644 --- a/Ink Canvas/Controls/Toolbar/ToolbarRegistry.cs +++ b/Ink Canvas/Controls/Toolbar/ToolbarRegistry.cs @@ -99,10 +99,15 @@ namespace Ink_Canvas.Controls.Toolbar visible = cfg.Visible; try { - var menuElement = host.Window.FindName(item.MenuPanelName) as FrameworkElement; - if (menuElement != null) + var menuElement = host.Window.FindName(item.MenuPanelName); + if (menuElement is System.Windows.Controls.Primitives.Popup popup) { - menuElement.Visibility = visible ? Visibility.Visible : Visibility.Collapsed; + popup.IsOpen = visible; + LogHelper.WriteLogToFile($"ToolbarRegistry: 菜单 Popup [{item.MenuPanelName}] -> {(visible ? "Open" : "Closed")}", LogHelper.LogType.Info); + } + else if (menuElement is FrameworkElement fe) + { + fe.Visibility = visible ? Visibility.Visible : Visibility.Collapsed; LogHelper.WriteLogToFile($"ToolbarRegistry: 菜单 [{item.MenuPanelName}] -> {(visible ? "Visible" : "Collapsed")}", LogHelper.LogType.Info); } else diff --git a/Ink Canvas/MainWindow.xaml b/Ink Canvas/MainWindow.xaml index 59f15ff6..b291a5ca 100644 --- a/Ink Canvas/MainWindow.xaml +++ b/Ink Canvas/MainWindow.xaml @@ -2985,53 +2985,53 @@ - - - - + + + + - + + Foreground="#DC2626" FontSize="12" VerticalAlignment="Center" + MouseDown="Border_MouseDown" + MouseUp="CloseBordertools_MouseUp" /> - - - - -