为什么应用程序调度程序在我的代码中导致错误?

问题描述 投票:-1回答:1

我在Wpf中编写了一个代码段,该代码段可生成自定义形状并将其添加到Canvas。为了不阻塞UI,我使用了[[async方法。一切正常,但关闭窗口后出现错误。发生了什么事?

正在运行的应用程序输出:

enter image description here

关闭窗口后出现的错误:

enter image description here

c# wpf multithreading asynchronous dispatcher
1个回答
0
投票
创建10000个形状需要很多时间。当CreateShapes方法仍在for循环中时,您正在关闭应用程序,忙于创建更多形状。关闭应用程序会破坏Application.Current,并将其设为null。由于您的应用程序不等待CreateShapes方法完成工作,因此在当前代码中这是不可避免的。
© www.soinside.com 2019 - 2024. All rights reserved.