我有一个使用 WPF 和 UserControl 编码的应用程序。我已将父窗口与程序启动时加载的用户控制选项卡链接在一起。
从那里我可以选择一个选项卡,该选项卡将打开相应的用户控件。一些 UserControls 有带线程的后台工作线程,一些线程纯粹用于数据捕获,而另一些则用于数据输出或生成报告。当使用我们创建的类关闭每个选项卡时,ClossableItems
它允许您选择关闭按钮以及在我们的 MainWindow 上显示选项卡。
我们遇到的问题是,当 UserControl 关闭时,没有任何资源被释放回系统。后台工作人员和显示 UserControl 所需的资源。我用谷歌搜索了强制关闭我的 UserControl 的方法,但无济于事。我尝试过的事情:
Background worker:
bwDataCollector.WorkerSupportsCancellation = true;
bwDataCollector.CancellationPending;
bwDataCollector.CancelAsync();
User Control:
this.Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted
private void Dispatcher_ShutdownStarted(object sender, EventArgs e)
{
}
所以基本上我要问的是,如果有人知道关闭这个从 onDestroy 等方法调用的 UserControls 的方法,它也会释放资源?
还有一种方法可以让我使用同样的方法来关闭我的后台工人吗?