【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;
}
作者:宋桓公
出处:http://www.cnblogs.com/douzi2/
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。