【发布时间】:2016-02-07 22:09:49
【问题描述】:
当我尝试将我的窗口并排或一角对齐时,我发现屏幕边缘和窗口边缘之间存在某种填充。 我从模板创建了新的 wpf 项目,在构造函数中只添加了两行并得到了这个:
为什么它不适合屏幕边缘?当我尝试像这样将窗口放在右下角时,同样的问题:
Rect workArea = SystemParameters.WorkArea;
Left = workArea.Location.X + workArea.Width - Width;
Top = workArea.Location.Y + workArea.Height - Height;
看起来窗口有 7px 边框(就像在 win7 上一样)但在 win10 上不可见。我还发现如果我将WindowStyle 设置为WindowStyle.None 和ResizeMode 设置为ResizeMode.NoResize,系统会正确放置窗口,但这不是我需要的。在 win7 上,相同的程序按预期工作。
当然我可以将Left 属性设置为-7,但这不是解决方案。如何正确设置窗口位置,使其在win7和win10上都能正常显示?
【问题讨论】:
-
在右下角的情况下,您是否尝试过 ActualWidth 和 ActualHeight 属性(显示后)?
-
@KyloRen 是的,结果是一样的
-
可能是“this.Left = 0 - SystemParameters.ResizeFrameVerticalBorderWidth - SystemParameters.FixedFrameVerticalBorderWidth;”可以从窗口 10 的编程角度使用。否则我认为您必须使用 ChromeWindow 类。跨度>
标签: c# wpf windows-10