【wpf】Page的Unloaded事件

Unloaded在page切换的时候发生!

Window在Closing的时候,是不会去触发它的子元素的Unloaded 事件。

所以如果,在切换page之前,直接关掉了主界面,那么Unloaded的中的处理函数就不会被处理。

在这个过程之中,我查资料,发现一个有趣的东西。

Dispatcher介绍_albert的专栏-CSDN博客_dispatcher

后续在研究吧。

这里说一下:Dispatcher.ShutdownStarted 

public PageMotorTest()
{
    InitializeComponent();
    this.list_axis.ItemsSource = App.axisList;
    Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted;


}

private void Dispatcher_ShutdownStarted(object sender, EventArgs e)
{
    bloop = false;
}

这里其实就是订阅了一个事件(当程序被关闭时,会被调用。),可以写在任何地方,但是作用时全局的。意思就是,如果在其他page或者任何地方,只要程序关闭这个事件都会被触发调用。

2022年11月10日,更新

.net6以上写法会报错,要改一下:

public PageMotorTest()
{
    InitializeComponent();
    Dispatcher.CurrentDispatcher.ShutdownStarted += CurrentDispatcher_ShutdownStarted;


}

private void CurrentDispatcher_ShutdownStarted(object? sender, EventArgs e)
{
    bloop = false;
}

posted @   宋桓公  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示