XAML WinUI3:在事件中清除画布后,是否有办法强制更新画布

35g0bw71  于 2023-06-03  发布在  其他
关注(0)|答案(1)|浏览(204)

我用这个来清理画布。

mainCanvas().Children().Clear();

用户界面肯定会改变后的事件,但我想采取截图后,画布被清除。我尝试了各种方法,但总是得到一个未清除画布的截图。最后,我把动作分成不同的事件来实现它,但我仍然想知道如何在单个事件中做到这一点。
这与WPF的情况非常相似。Clearing canvas has a delay

bn31dyow

bn31dyow1#

在WPF和WinUI中,UI是在另一个线程中呈现的,而不是应用程序的“UI”线程。
一种方法是在调用mainCanvas().Children().Clear();之前订阅CompositionTarget.Rendered事件,然后保存图像并立即取消订阅事件处理程序。

相关问题