在wpf上设置自定义窗口位置

时间:2011-10-25 05:04:55

标签: c# wpf window

我认为wpf的Window.Width和Window.Height存在错误。我需要我的窗口覆盖整个桌面(有两个显示器),但首先让我告诉你为什么我认为有一个bug。

首先让我告诉你我的显示器的分辨率:(两者都有相同的分辨率)

enter image description here

这是我正在使用的视觉工作室的窗口

enter image description here

我不知道你们是否了解AutoIt,但它是一个很好的自动化简单程序的程序。所以如果我想调整我的MainWindow的大小以覆盖我的第一个监视器中的所有空间(就像我最大化窗口一样)我将在autoit上执行此方法: enter image description here

当我执行该代码时,我在visual studio中创建的窗口扩展,它看起来就像它最大化的位置一样。

enter image description here

到目前为止,坐标似乎正在起作用。

现在我在wpf:

上用c#做同样的事情
    public static void setWindowSize(System.Windows.Window w)
    {
        w.Left = 0;
        w.Top =0;
        w.Width = 1920;
        w.Height = 1079;
    }

参数w将是MainWindow。当我执行它时,看看窗口是如何调整大小的: enter image description here

我把旧图像放在旁边,以便你们可以比较它。为什么尺寸不一样?我相信Window.Width和Window.Height属性无法正常工作。或者我做错了什么?

2 个答案:

答案 0 :(得分:2)

如果您想要覆盖主显示器,那么<​​/ p>

Width = SystemParameters.PrimaryScreenWidth, Height = SystemParameters.PrimaryScreenHeight

如果你想要同时覆盖两个显示器

Width = SystemParameters.VirtualScreenWidth, Height = SystemParameters.VirtualScreenHeight

答案 1 :(得分:1)

试试这个

宽度= SystemParameters.PrimaryScreenWidth,   高度= SystemParameters.PrimaryScreenHeight,