wpf 如何获得视觉效果(e)例如,UserControl)是否准备好由RenderTargetBitmap复制?

umuewwlo  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(127)

这个问题现在已经在评论中得到了回答。

原问题:
以下是不够的:

this.Background = Brushes.Yellow;
RenderTargetBitmap bmp = new RenderTargetBitmap(...);
Measure(...);
Arrange(...);
bmp.Render(this);

如果在执行此代码之前颜色不同,则颜色仍为旧颜色,而不是更改为黄色。
我错过了哪一步?
(It如果我在渲染之前添加一个await Task.Delay(100);,它确实可以工作,但似乎是一个丑陋的变通方法。)

e0bqpujr

e0bqpujr1#

[发布临时答案,直到评论者发布自己的答案。]
这个问题在注解中得到了解决-在将Visual渲染到位图之前添加UpdateLayout就足够了。

相关问题