Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建具有精确像素大小的WPF窗口?_C#_Wpf - Fatal编程技术网

C# 如何创建具有精确像素大小的WPF窗口?

C# 如何创建具有精确像素大小的WPF窗口?,c#,wpf,C#,Wpf,我尝试将应用程序中的窗口精确显示在指定的矩形中: Left=0,Top=0,Width=1920,Height=240 它似乎有左、右边缘。还有一个底边。看起来大概有8个像素。就像系统通过指定Left、Top、Width和Height属性拒绝将窗口放置在我告诉它的位置一样 但是,当我将WindowStyle设置为None并将allowtransparency设置为True时,它的行为正常 但我不需要也不想要无边界的窗口,我需要正常的系统窗口,但要放在正确的位置。如何实现 如果边距是Windows

我尝试将应用程序中的窗口精确显示在指定的矩形中:

Left=0,Top=0,Width=1920,Height=240

它似乎有左、右边缘。还有一个底边。看起来大概有8个像素。就像系统通过指定Left、Top、Width和Height属性拒绝将窗口放置在我告诉它的位置一样

但是,当我将
WindowStyle
设置为
None
并将
allowtransparency
设置为
True
时,它的行为正常

但我不需要也不想要无边界的窗口,我需要正常的系统窗口,但要放在正确的位置。如何实现

如果边距是Windows UI的一部分,无法删除-如何确定放置窗口时要考虑的边距大小

我正在桌面计算机上用Windows 10测试它。

这是因为在
Windows 10
中没有像
Windows 7
那样的设计边界。使用以下代码设置
Left
属性:

Left = 0 - SystemParameters.ResizeFrameVerticalBorderWidth - SystemParameters.FixedFrameVerticalBorderWidth;

您的
窗口的
位置将在此之后。顶部应该已经好了。将
Width
设置为等于
SystemParameters.WorkArea.Width
则右边不应有边距。

我刚刚测试过它,效果很好,但这种修正是否也适用于Windows 7?@Harry Nope。这不能用于窗口7。如果您希望应用程序在两个操作系统中都运行。在设置属性之前,必须检查操作系统。