我正在尝试调整覆盖整个屏幕的窗口的大小。
我尝试了下面的方法
win.Left = SystemParameters.VirtualScreenLeft;
win.Top = SystemParameters.VirtualScreenTop;
win.Width = SystemParameters.VirtualScreenWidth;
win.Height = SystemParameters.VirtualScreenHeight;这在1080p的显示器(全高清显示器)上工作得很好。当我连接了两个显示器,其中一个是全高清显示器,而另一个是高清显示器时,它也可以工作。我知道在这种情况下,窗口的某些部分将永远不会变得可见,因为它将超出整个屏幕资产的范围。
问题从4k显示器开始。在4k显示器上,它在屏幕上占用较小的矩形,并且不能覆盖整个屏幕。我知道这是由于缩放(wpf自动缩放窗口),但无法找到解决这个问题的方法。
问题出在4k显示器上。我认为这与DPI有关,因为4k显示器的DPI更高。
我的问题是,如何让应用程序使用整个屏幕资源,而不考虑显示器分辨率和DPI。
(请注意,设置窗口最大化将不起作用,因为它不会跨越多个显示器。)
发布于 2017-02-13 21:58:47
事实证明,这个问题根本不是窗口大小的问题。指定坐标后,窗口大小已正确调整。然而,有一件事可能会帮助那些想做类似事情的人。始终确保将从API检索到的值与从API和WPF中检索到的其他值进行比较,因为WPF会生成缩放值。
https://stackoverflow.com/questions/42005758
复制相似问题