我在恢復Avalondock中的浮動工具時遇到了問題。 Im開發的應用程序使用avalondock進行文檔管理,只需一些工具。 我通常在第二臺顯示器上使用這些工具。WPF C#多顯示器恢復125%的位置縮放比例
我在工作時使用多個顯示器,一個是125%縮放比例,另一個是100%縮放比例。主顯示器是4k顯示器,另一個是2k顯示器。
當我用一臺顯示器(3440x1440)遠程桌面工作電腦並運行應用程序時,我注意到第二臺顯示器中的工具不可見,我無法將它們帶回主屏幕。
Avalondock的浮動LayoutAnocorables不被視爲單獨的視圖。 如果有人知道如何使LayoutAnchorable作爲單獨的窗口視圖,那將是最好的解決方案。但我找不到如何去做。我嘗試以下
if (args.Model.IsFloating)
{
var left = (int)args.Model.FloatingLeft;
var top = (int)args.Model.FloatingTop;
var width = (int)args.Model.FloatingWidth;
var height = (int)args.Model.FloatingHeight;
var rect = new System.Drawing.Rectangle(left, top, width, height);
var intersected = Screen.AllScreens.Any(p => p.WorkingArea.IntersectsWith(rect));
if (!intersected)
{
//need to reposition
args.Model.FloatingLeft = 0;
args.Model.FloatingTop = 0;
}
//args.Model.FloatingTop;
}
System.Windows.SystemParameters.PrimaryScreenHeight 1440 double
System.Windows.SystemParameters.PrimaryScreenWidth 3440 double
System.Windows.SystemParameters.VirtualScreenHeight 1440 double
System.Windows.SystemParameters.VirtualScreenWidth 3440 double
args.Model.FloatingLeft 4133.6雙 args.Model.FloatingTop 909.6雙
WorkingArea {X = 0 Y = 0寬度= 4300高度= 1750} System.Drawing.Rectangle 問題在於工作區域縮放爲125%。 這使得args.Model在主窗口的範圍內。
所以我想我不能使用System.Windows.Forms.Screen信息,因爲我不知道用戶將使用哪種縮放比例。
我如何獲得多個顯示器的真正分辨率和位置和縮放?