这个问题现在已经在评论中得到了回答。
原问题:
以下是不够的:
this.Background = Brushes.Yellow;
RenderTargetBitmap bmp = new RenderTargetBitmap(...);
Measure(...);
Arrange(...);
bmp.Render(this);
如果在执行此代码之前颜色不同,则颜色仍为旧颜色,而不是更改为黄色。
我错过了哪一步?
(It如果我在渲染之前添加一个await Task.Delay(100);
,它确实可以工作,但似乎是一个丑陋的变通方法。)
1条答案
按热度按时间e0bqpujr1#
[发布临时答案,直到评论者发布自己的答案。]
这个问题在注解中得到了解决-在将Visual渲染到位图之前添加UpdateLayout就足够了。