Application对象的事件

本文详细介绍了WPF应用程序的各种生命周期事件,包括Activated、Deactivated、DispatcherUnhandledException等,解释了每个事件的发生时机及用途,并提供了如何在App.xaml及其代码隐藏文件中进行事件绑定和处理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

名称

说明

Activated

当应用程序成为前台应用程序时发生。

Deactivated

当应用程序停止作为前台应用程序时发生。

DispatcherUnhandledException

在异常由应用程序引发但未进行处理时发生。

Exit

恰好在应用程序关闭之前发生,且无法取消。

FragmentNavigation

 

当应用程序中的导航器开始导航至某个内容片断时发生,如果所需片段位于当前内容中,则导航会立即发生;或者,如果所需片段位于不同内容中,则导航会在加载了源 XAML 内容之后发生

LoadCompleted

在已经加载、分析并开始呈现应用程序中的导航器导航到的内容时发生。

Navigated

在已经找到应用程序中的导航器要导航到的内容时发生,尽管此时该内容可能尚未完成加载。

Navigating

在应用程序中的导航器请求新导航时发生。

NavigationFailed

在应用程序中的导航器在导航到所请求内容时出现错误的情况下发生。

NavigationProgress

在由应用程序中的导航器管理的下载过程中定期发生,以提供导航进度信息。

NavigationStopped

在调用应用程序中的导航器的 StopLoading 方法时发生,或者当导航器在当前导航正在进行期间请求了一个新导航时发生。

SessionEnding

在用户通过注销或关闭操作系统而结束 Windows 会话时发生。

Startup

在调用 Application 对象的 Run 方法时发生。

应用程序的事件处理可以

在App.xaml中做事件的绑定,在App.xaml.cs文件中添加事件的处理方法

在App.xaml文件中:<Application x:Class="WpfApplicationLifeCycle.App"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

StartupUri="Window1.xaml"Startup="Application_Startup"><Application.Resources>

</Application.Resources></Application>

App.xaml.cs文件中:using System.Windows;

namespace WpfApplicationLifeCycle

{/// <summary>/// Interaction logic for App.xaml/// </summary>

public partial class App : Application

{private void Application_Startup(object sender, StartupEventArgs e)

{// 定义应用程序启动时要处理的内容}}}

在自定义的类中可以做正常的C#的事件绑定:

[STAThread]

static void Main()

{

// 定义Application对象Application app = new Application();

Window2 win = new Window2();

// 添加事件的绑定

app.Startup += new StartupEventHandler(app_Startup);

app.Run(win);

}

static void app_Startup(object sender, StartupEventArgs e)

{

Window2 win = new Window2();

win.Show();

win.button1.Content = "YOU!";

}

主窗体载入时,会在Window2里面定义的button1上面就会显示YOU!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值