首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF和windows 10.窗口周围的隐形边框?

WPF和windows 10.窗口周围的隐形边框?
EN

Stack Overflow用户
提问于 2016-02-07 22:09:49
回答 2查看 3.6K关注 0票数 11

当我试图将我的窗口对齐或显示的角时,我发现屏幕的边缘和窗口的边缘之间有某种填充。我从模板创建了新的wpf项目,在构造函数中只添加了两行,得到如下结果:

为什么它不适合屏幕边缘?当我试图将窗口放在右下角时,同样的问题如下:

代码语言:javascript
复制
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上看起来都很好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-18 23:59:42

左边/右边/底部的可调整大小边框现在在Windows 10上是不可见的,而该边框正是该空白的位置。如果您将窗口放在屏幕的中间,并将鼠标拖动到窗口的左侧边缘,您将看到光标更改为调整大小的光标,在窗口边缘更远的地方进行8像素的调整。这表明边界仍然存在。

您可以通过使用普通GetWindowRect函数和DwmGetWindowAttribute函数的组合以及DWMWA_EXTENDED_FRAME_BOUNDS参数来获得补偿。

票数 9
EN

Stack Overflow用户

发布于 2016-02-09 03:23:42

它们将度量保持不变(例如,注册表中的PaddedBorderWidth仍然是-60),并完全在主题("Aero")中实现清晰的调整大小句柄。这不是玻璃,它只是完全看不见Office 2013渲染它们的方式。你的应用程序在Windows 7和10上都会以相同的像素坐标绘制,只有Windows 7才会有玻璃效果来填补这个空白。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35259756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档