窗口上的WPF布局

Vau*_*ult 7 wpf layout controls rendering resize

我在WPF Windows上有几个列表框,Height="Auto" Width="Auto"在表单上设置了

表单在不同的分辨率上完美地调整大小,但问题是当我按下最大化按钮时,在表单调整大小时可以看到厚的"黑色L".我已经在很多WPF应用程序中看到了这一点,但直到现在还没有解决问题.

有没有办法DoubleBuffer窗口,或在窗体上的控件调整大小时调用WPF中的SuspendLayout()?我怎么能摆脱这个丑陋的黑色L?

Max*_*kin 3

引用最近的汉塞尔会议纪要之一:

\n\n
\n

Ian Griffiths:... win32 提示\n 是一个普通的win32 消息循环,WPF 从中收集消息\n 并将它们放在自己的\n 提示上,然后在这是它自己的甜蜜时光,部分原因是它希望能够在事件到来时对其进行重新排序。例如,它将优先考虑某些事情,使其高于输入处理,并且通过这就是为什么在调整 WPF 应用程序大小时会出现稍微奇怪的重绘处理,您可能已经注意到,当您调整窗口大小时,会暂时出现一点空白。这是因为它在实际执行任何操作之前就已确认调整大小事件,然后绘制与正常情况略有不同步。因此,有一个 win32 消息队列,但它实际上并不是 WPF 中的主消息队列,并且 \xe2\x80\x98 的所有实现细节都详细说明了调度程序试图隐藏的\n尽可能地了解它。

\n
\n\n

尽管我不知道完整的解决方案,但这似乎与您的问题相关。\n也许您应该尝试更改一些调度程序优先级?

\n