【问题标题】:Black Border While Resizing调整大小时出现黑色边框
【发布时间】:2012-05-17 08:48:33
【问题描述】:

我开始了我的 WPF 学习之旅。经过几天的编码,我发现每当我调整任何 WPF 表单的大小时,我都会在调整大小时在底部和右侧出现黑色边框,就像一个神器一样,好像屏幕太慢了。在使用 winforms 时,我从未注意到这一点。

像这样:

这是一个已知问题吗?有什么简单的解决方法吗?

编辑 1:

似乎它与图形驱动程序有关,我只在 gfx 卡较弱的笔记本电脑上工作,所以其他人有这个问题吗? (我也在用 Win7 SP1)

【问题讨论】:

标签: wpf graphics resize drawing


【解决方案1】:

这是一个已知问题,不太可能修复。如果您的背景足够均匀,有一种解决方法可以减少此问题的影响:https://stackoverflow.com/a/14309002/33080

我对根本原因的理解是 WPF 控件在调整大小方面滞后:WPF 将它们短暂地绘制在“错误”的位置。请参阅链接的问题以进行演示。

【讨论】:

    【解决方案2】:

    如果您调整窗口大小,它必须重绘。这需要一些时间,而且它发生在窗口管理器已经调整窗口大小并显示它之后;在这种情况下,您将在 WPF 中获得一个黑色边框,在 Windows 窗体中获得一个具有正常窗口背景(通常为灰色)的边框。

    通常你所能希望的只是计算机速度足够快,重绘不会显示它。

    【讨论】:

    • 如果 WPF 只是临时缩放窗口似乎会更有意义——同样,这个问题在 WinForms 中不存在。 -- 有点遗憾,他们在 WPF 中引入了这么大的缺陷。
    • @BrainSlugs83:当你的 UI 暂时变得模糊并且重新调整大小时,暂时缩放窗口会产生一种不和谐的外观。请记住,当您调整窗口大小时,并非所有内容都会统一缩放(没有将所有内容放入单个 ViewBox)。状态栏或菜单栏之类的东西也可能永远不会垂直缩放。这是所有应用程序中的一个问题,解决它的最简单方法是让您的表单布局更简单,以便快速重绘。无论如何,这几乎总是一个好主意。
    • 是的——当时我没有想到——但有一种解决方法——不是缩放,它只是填充正确的背景颜色——所以你几乎不需要甚至没有注意到它。 -- 现在,黑色的背景很刺眼。
    猜你喜欢
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    相关资源
    最近更新 更多