From 6d934eec64af5930a85ee2a605dc17b663d29a69 Mon Sep 17 00:00:00 2001 From: Pigeon0v0 <60414767+Pigeon0v0@users.noreply.github.com> Date: Thu, 6 Aug 2026 19:39:05 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix(tooltip):=20Tooltip=20=E5=9C=A8?= =?UTF-8?q?=E9=83=A8=E5=88=86=E6=83=85=E5=86=B5=E4=B8=8B=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PCL.Core/UI/Controls/Tooltip.cs | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/PCL.Core/UI/Controls/Tooltip.cs b/PCL.Core/UI/Controls/Tooltip.cs index 08a978e9b9..838394ed48 100644 --- a/PCL.Core/UI/Controls/Tooltip.cs +++ b/PCL.Core/UI/Controls/Tooltip.cs @@ -260,8 +260,20 @@ private static void OnOpening(object s, ToolTipEventArgs e) _Hush(); return; } + + if (fe.IsEnabled) + { + if (ReferenceEquals(_target, fe) && _flyout is { IsOpen: true }) + return; - if (fe.IsEnabled) return; + if (!ReferenceEquals(_target, fe)) _Hush(); + _target = fe; + _latch?.Stop(); + _latch = null; + _cursor = Mouse.GetPosition(fe); + _PopUp(fe, _cursor); + return; + } if (!ReferenceEquals(_target, fe)) _Hush(); _target = fe; @@ -307,9 +319,7 @@ private static void _TryClaim(FrameworkElement pivot) _Hush(); return; } - - if (_closing) return; - + _StartCycle(candidate, Mouse.GetPosition(candidate)); } @@ -354,6 +364,14 @@ private static bool _PointInside(FrameworkElement el, Point p) => private static bool _ShareAncestor(DependencyObject a, DependencyObject b) { if (ReferenceEquals(a, b)) return true; + + if (a is ComboBox comboA && b is ComboBoxItem itemB && + ItemsControl.ItemsControlFromItemContainer(itemB) == comboA) + return true; + if (b is ComboBox comboB && a is ComboBoxItem itemA && + ItemsControl.ItemsControlFromItemContainer(itemA) == comboB) + return true; + for (var cur = VisualTreeHelper.GetParent(b); cur is not null; cur = VisualTreeHelper.GetParent(cur)) if (ReferenceEquals(cur, a)) return true; for (var cur = VisualTreeHelper.GetParent(a); cur is not null; cur = VisualTreeHelper.GetParent(cur)) From 755fd30452149aeb697dc336a153a19785ae66eb Mon Sep 17 00:00:00 2001 From: Pigeon0v0 <60414767+Pigeon0v0@users.noreply.github.com> Date: Thu, 6 Aug 2026 20:02:36 +0800 Subject: [PATCH 2/3] fix flyout place --- PCL.Core/UI/Controls/Tooltip.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PCL.Core/UI/Controls/Tooltip.cs b/PCL.Core/UI/Controls/Tooltip.cs index 838394ed48..d686b1c501 100644 --- a/PCL.Core/UI/Controls/Tooltip.cs +++ b/PCL.Core/UI/Controls/Tooltip.cs @@ -583,10 +583,10 @@ private static void _PlaceNear(FrameworkElement target, Point pt) if (mode is PlacementMode.Mouse) { - _flyout.Placement = PlacementMode.Relative; + _flyout.Placement = PlacementMode.Left; _flyout.PlacementRectangle = default; _flyout.HorizontalOffset = Math.Round(pt.X + 15 + ToolTipService.GetHorizontalOffset(target)); - _flyout.VerticalOffset = Math.Round(pt.Y + 25 + ToolTipService.GetVerticalOffset(target)); + _flyout.VerticalOffset = Math.Round(pt.Y + 15 + ToolTipService.GetVerticalOffset(target)); } else if (mode is PlacementMode.MousePoint) { From 9e0b2c0db8e898bc97608b7c58cb67efb25c5873 Mon Sep 17 00:00:00 2001 From: Pigeon0v0 <60414767+Pigeon0v0@users.noreply.github.com> Date: Thu, 6 Aug 2026 20:35:30 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E8=8E=AB=E5=90=8D=E5=85=B6=E5=A6=99=E7=9A=84=E5=81=8F=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Application.xaml | 5 ----- .../Pages/PageDownload/Comp/MyCompItem.xaml | 4 +--- .../Pages/PageInstance/PageInstanceSetup.xaml | 13 +++--------- .../Pages/PageSetup/PageSetupLaunch.xaml | 20 +++++++++---------- 4 files changed, 14 insertions(+), 28 deletions(-) diff --git a/Plain Craft Launcher 2/Application.xaml b/Plain Craft Launcher 2/Application.xaml index 4667aa2899..1bafe02538 100644 --- a/Plain Craft Launcher 2/Application.xaml +++ b/Plain Craft Launcher 2/Application.xaml @@ -567,11 +567,6 @@