前言
WPF启动有四种方式
1,直接在自带的App.xaml中修改
2,另外三种需要手写代码
一、方法1
项目新建后,会有一个App.xaml文件,打开,Application里面有StartupUri,这里可以修改成你自己需要的
二、方法2
从项目中排除App.xaml,新建App.cs类文件
使用Application对象的Run方法调用
using System;
using System.Windows;
namespace WpfApp4
{
class App
{
[STAThread]
static void Main() {
Application app = new Application(); // 定义Application对象作为整个应用程序入口
MainWindow win = new MainWindow(); // 窗口实例化
app.Run(win); // 调用Run方法
}
}
}
这里注意3点:
- 使用Application时,需要using System.Windows;
- 要使用静态的Main方法,必须是static,也必须是Main,大小写不能变,因为static void
Main()是程序的唯一入口 - 使用[STAThread]特性
[STAThread]是一种线程模型,用在程序的入口方法上(在C#和VB.NET里是Main()方法),来指定当前线程的ApartmentState是STA。用在其他方法上不产生影响。
STAThread:Single Thread Apartment Thread 单一线程单元线程
[]是用来表示Attributes;
三、方法3
通过指定主窗体启动
using System;
using System.Windows;
namespace WpfApp4
{
class App
{
[STAThread]
static void Main() {
Application app = new Application(); // 定义Application对象作为整个应用程序入口
MainWindow win = new MainWindow(); // 窗口实例化
app.MainWindow = win; // 指定Application对象的MainWindow属性为启动窗体,然后调用无参数的Run方法
win.Show(); // 显示窗体
app.Run(); // 调用无参数的Run()方法
}
}
}
四、方法4
通过url的方式启动
using System;
using System.Windows;
namespace WpfApp4
{
class App
{
[STAThread]
static void Main() {
Application app = new Application(); // 定义Application对象作为整个应用程序入口
app.StartupUri = new Uri("MainWindow.xaml",UriKind.Relative); // 通过url的方式启动
app.Run();
}
}
}