WPF弹出窗口控件放置在两个不同分辨率的显示器上

时间:2011-10-17 14:35:51

标签: wpf popup multiple-monitors

我在开发机器上使用两个具有不同分辨率的显示器。分辨率较小的显示器配置为主显示器。如果我在辅助显示器上最大化我的WPF应用程序并在底部显示弹出控件,则会显示重新定位: enter image description here

我猜,框架使用主显示屏的较低分辨率来检查弹出窗口是否必须重新定位。 WPF框架不检查当前的显示分辨率,还是我必须自己配置?

1 个答案:

答案 0 :(得分:0)

要在两台显示器上重新定位弹出控件,最好根据MainWindow的 PointToScreen 属性设置弹出控件水平垂直偏移

  

var mousePosition = Mouse.GetPosition(Application.Current.MainWindow);
  var pointToScreen = Application.Current.MainWindow.PointToScreen(mousePosition);

     

_popup.Horizo​​ntalOffset = pointToScreen.X;
  _popup.VerticalOffset = pointToScreen.Y;