2012-05-17 95 views
2

我开始学习WPF。经过几天的编码,我发现无论何时调整任何WPF表单的大小时,我都会在底部和右侧获得黑色边框,同时调整大小,就像工件一样,就好像屏幕太慢一样。当使用winforms时,我从未注意到这一点。调整大小时的黑色边框

像这样:

enter image description here

这是一个已知的问题?任何简单的解决方法?

编辑1:

似乎与其相关的图形驱动程序,我只与weakish GFX显卡的笔记本电脑工作,所以没有任何人有这个问题? (我也使用Win7 SP1)

+0

可能的重复[如何解决WPF窗体调整大小 - 控制滞后和黑色背景?](http://stackoverflow.com/questions/1382915/how-to-fix-the-wpf-form-resize- controls-lagging-behind-and-black-background) – ghord

回答

0

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

通常情况下,所有你可以希望的是,有计算机足够快的重绘不显示它。

+0

看来如果WPF只是暂时缩放窗口就会更有意义 - 再一次,WinForms中不存在这个问题。 - 他们在WPF中引入了这么大的缺陷有点伤心。 – BrainSlugs83

+1

@ BrainSlugs83:临时缩放窗口会让您的UI暂时变得模糊,并且重新调整大小,从而造成一种令人不安的感觉。请记住,当调整窗口大小时,并非所有东西都可以统一缩放(将所有内容都放入一个ViewBox中)。诸如状态栏或菜单栏之类的东西也可能不会垂直缩放。这是所有应用程序中的一个问题,解决它的最简单方法是使表单布局更简单,以便快速重绘。无论如何,这几乎总是一个好主意。 – Joey

+0

这是真的 - 我当时没有想到 - 但有一个解决方法 - 不是缩放,而是填充适当的背景颜色 - 所以你几乎没有注意到它。 - 现在,黑色背景只是非常苛刻。 – BrainSlugs83

1

这是一个已知的问题,它不太可能会被修复。有一个变通,减少此问题的影响,如果你的背景是足够均匀:https://stackoverflow.com/a/14309002/33080

我的根本原因的理解是,WPF控件落后于调整大小:WPF吸引过来的“错误”的位置简单。查看链接的问题进行演示。