浏览代码

Use screen bounds if woking area is empty

Keroosha 6 年之前
父节点
当前提交
08976e81c7
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      src/Avalonia.Controls/Primitives/PopupPositioning/ManagedPopupPositioner.cs

+ 6 - 0
src/Avalonia.Controls/Primitives/PopupPositioning/ManagedPopupPositioner.cs

@@ -100,6 +100,12 @@ namespace Avalonia.Controls.Primitives.PopupPositioning
                                    ?? screens.FirstOrDefault(s => s.Bounds.Contains(parentGeometry.TopLeft))
                                    ?? screens.FirstOrDefault(s => s.Bounds.Intersects(parentGeometry))
                                    ?? screens.FirstOrDefault();
+
+                if (targetScreen != null && targetScreen.WorkingArea.IsEmpty)
+                {
+                    return targetScreen.Bounds;
+                }
+                
                 return targetScreen?.WorkingArea
                        ?? new Rect(0, 0, double.MaxValue, double.MaxValue);
             }