第一章 WPF简介与XAML语言(14)
发布时间:2021-06-11
发布时间:2021-06-11
WPF简介与XAML语言
上图片描述WPF应用的生命周期,其中值得一提的是Run方法后会调用应用程的Starup事件,而"已激活"、"已停用"分别对应 Activated和Deactivate事件。DispatcherUnhandledException用来将事件路由到正确位置的对象,包括未处理 的异常,可以用它来处理程序其他部分未处理的异常或者一些操作(例如保存当前文档)。当关闭、注销或者重新启动时则会触发SessionEnding事件,SessionEnding事件中的SessionEndingCancelEventArgs的
ReasonSessionEnding属性可以指示你是执行了注销还是关闭(这是一个枚举属性)。
1.4.4 单实例运行WPF应用
虽然上面我们简单介绍了WPF应用的生命周期,但是默认情况下我们可以打开一个应用程序多个实例,例如你双击一个exe多次。当然有些时候这么做会 带来很多好处,但是有时我们又不希望这么做,要避免这个问题其实很简单,同WinForm中单实例运行一个应用是一样的,我们只需要在应用程序启动时创建 一个"排他锁",修改App.xaml.cs如下:
1using System;
2using System.Windows;
3using System.Threading;
4
5namespace WPFLifeCycle
6
{
下一篇:端午节的来历与习俗