Просмотр исходного кода

fix: 鼠标从特定被禁用的控件上移开不会使 Tooltip 消失(Meloong-Git/PCL#8882,@MovTery)

龙腾猫跃 3 месяцев назад
Родитель
Сommit
1ee19b4023
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      Wpf/Controls/ModernTooltipService.cs

+ 5 - 1
Wpf/Controls/ModernTooltipService.cs

@@ -195,7 +195,11 @@ public static class ModernTooltipService {
             return;
         }
 
-        if (owner is not null) BeginShow(owner, Mouse.GetPosition(owner));
+        if (owner is not null) {
+            BeginShow(owner, Mouse.GetPosition(owner));
+        } else if (currentOwner is { IsEnabled: false }) {
+            Close(true); // 禁用的控件不会触发 MouseLeave,需要由其他元素收到的 MouseMove 主动关闭
+        }
     }
 
     private static FrameworkElement? FindCurrentTooltipOwner(FrameworkElement reference) {