WPF 关闭主窗口提示Application.Current为null处理

今天发现在任务栏右键关闭应用时,窗口关闭了,但是进程仍然存在。

经过定位发现然后视频在渲染时,使用了Application.Current.Dispatcher回到主线程的操作,但是主窗体Closing时,进程还没关闭Application.Current刚好被访问就会为null。

方案1:

一直轮询在执行的地方使用Application.Current.Dispatcher都加上?号,改成Application.Current?.Dispatcher。但是容易改漏。

方案2:

在主窗体MainWindow_Closing事件,使用Environment.Exit(-1)。但是关闭过程久,并且如果关闭前有其它地方注册了Closing事件做存储数据等操作,会造成这一步无法完成就强行关闭

        private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
e.Cancel = true; Environment.Exit(-1); }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值