【发布时间】:2016-03-01 19:53:17
【问题描述】:
我在我的开发机器上使用了两个不同分辨率的显示器。分辨率较小的显示器被配置为主显示器。如果我在辅助显示器上最大化我的 WPF 应用程序并在底部显示一个弹出控件,它会重新定位:
我猜,框架使用主显示器的较低分辨率来检查弹出窗口是否必须重新定位。 WPF 框架不检查当前显示分辨率还是我必须自己配置?
【问题讨论】:
标签: wpf popup multiple-monitors
我在我的开发机器上使用了两个不同分辨率的显示器。分辨率较小的显示器被配置为主显示器。如果我在辅助显示器上最大化我的 WPF 应用程序并在底部显示一个弹出控件,它会重新定位:
我猜,框架使用主显示器的较低分辨率来检查弹出窗口是否必须重新定位。 WPF 框架不检查当前显示分辨率还是我必须自己配置?
【问题讨论】:
标签: wpf popup multiple-monitors
要在两个显示器上重新定位弹出控件,最好根据MainWindow的PointToScreen属性设置弹出控件水平和垂直偏移
var mousePosition = Mouse.GetPosition(Application.Current.MainWindow);
var pointToScreen = Application.Current.MainWindow.PointToScreen(mousePosition);_popup.HorizontalOffset = pointToScreen.X;
_popup.VerticalOffset = pointToScreen.Y;
【讨论】: