【问题标题】:How to create WPF window with exact pixel size?如何创建具有精确像素大小的 WPF 窗口?
【发布时间】:2016-06-02 11:27:01
【问题描述】:

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

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

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

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

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

如果边距是 Windows UI 的一部分并且无法删除 - 如何确定放置窗口时要考虑的尺寸?

我正在台式机上使用 Windows 10 对其进行测试。

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    这是因为windows 10 中没有设计边框,如windows 7。使用以下代码设置Left 属性:

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

    您的window's 职位将在此之后。顶部应该已经OK了。设置Width 等于SystemParameters.WorkArea.Width,那么右边应该没有边距。

    【讨论】:

    • 我刚刚测试了它,它工作正常,但这个更正是否也适用于 Windows 7?
    • @Harry 不。这不能与 Window 7 一起使用。如果您希望您的应用程序在两个操作系统中运行。在设置属性之前,您必须检查操作系统。
    猜你喜欢
    • 1970-01-01
    • 2012-11-22
    • 2015-10-11
    • 1970-01-01
    • 2011-07-14
    • 2015-11-21
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多