我有一个使用WPF和UserControl编码的应用程序。我已将父窗口与程序启动时加载的用户控制选项卡链接在一起。wpf用户控件清理
从那里我可以选择一个标签,它将打开相应的UserControl。一些用户控件具有后台工作者,其中一些纯粹用于数据捕获,另一些用于数据输出或生成报告。当使用我们创建的名为ClossableItems
的类关闭每个选项卡时,它允许您选择关闭按钮以及在我们的MainWindow上显示选项卡。
我们遇到的问题是,当UserControl关闭时,没有任何资源被释放回系统aka。后台工作人员和显示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,也将释放资源?
还有一种方法,我可以使用这种方法来关闭我的背景工人?
添加事件处理程序并在按下关闭按钮时释放资源。 – chameleon86
我有一个onDestroy事件,每次UserControl关闭时都会调用它,但我试过尽可能的方式释放这些资源,但无济于事。 – fonsIT
感谢编辑Ramhound – fonsIT