diff --git a/src/Avalonia.Controls/Primitives/PopupRoot.cs b/src/Avalonia.Controls/Primitives/PopupRoot.cs index fdec9febd3..286f7df3b9 100644 --- a/src/Avalonia.Controls/Primitives/PopupRoot.cs +++ b/src/Avalonia.Controls/Primitives/PopupRoot.cs @@ -84,8 +84,10 @@ namespace Avalonia.Controls.Primitives if (screen != null) { - var screenX = Position.X + Bounds.Width - screen.Bounds.X; - var screenY = Position.Y + Bounds.Height - screen.Bounds.Y; + var scaling = VisualRoot.RenderScaling; + + var screenX = Position.X + (Bounds.Width * scaling) - screen.Bounds.X; + var screenY = Position.Y + (Bounds.Height * scaling) - screen.Bounds.Y; if (screenX > screen.Bounds.Width) {