WPF:Application简介
Application是一个地址空间,在WPF中应用程序就是在System.Windows命名空间下的一个Application实例。一个应用程序只能对应一个Application的实例,而Application的生命周期自然是从运用程序启动到终止的周期。
与winform类似,WPF需要一个ApplicationL来全局的行为和操作,并且每个DOmain中只能有一个Application实例,和winform不同WPF默认有2部分组成:App.xaml和App.xaml.cs:
WPF应用默认启动方式是由:XAML中的StartupUri
自定义启动函数有三种常用的启动方法:
1.默认方式StartupUri,我们新建一个WPF应用程序看下它的xaml文件,明显的看到它指向MainWindow窗体
<Application x:Class="WPFApplication应用.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
2.mainwindow属性启动窗体
3.调用run方法,参数为启动的窗体对象
我们删除app.axml文件,自定义来演示三种启动方式,首先新建一个类来做为启动项,引入System.Windows命名空间,然后继承Application对象:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//引用
using System.Windows;
namespace WPFApplication应用
{
class StartMain:Application
{
[STAThread]
static void Main()
{
方法一:调用run方法,参数为启动的窗体对象 ,也是最常用的方法
Application app = new Application();
Window1 win = new Window1();
app.Exit += new ExitEventHandler(app_Exit);
app.Run(win);
// 方法二:指定application对象的mainwindow属性为启动窗体,然后调用无参数的run方法
//Application app = new Application();
//Window1 win = new Window1();
//app.MainWindow = win;
//win.Show();
//app.Run(win);
// 方法三:通过url的方式启动
//Application app = new Application();
//app.StartupUri = new Uri("Window1.xaml", UriKind.Relative);
//设置应用退出模式
//app.ShutdownMode = ShutdownMode.OnMainWindowClose;
//app.Run();
}
static void app_Exit(object sender, ExitEventArgs e)
{
Console.WriteLine("app_Exit");
}
}
}
方法一:调用run方法,参数为启动的窗体对象 ,也是最常用的方法
//Application app = new Application();
//Window1 win = new Window1();
//app.Exit += new ExitEventHandler(app_Exit);
//app.Run(win);
demo实例: