WPF中的Application类
1. 派生一个自定义Application类
- 创建一个类,作为启动项
using System;
using System.Windows;
namespace 项目4 {
class Start
{
[STAThread()]
static void Main()
{
Application app=new Application();
MainWindow win=new MainWindow();
win.Title = "BIM";
app.Run(win);
}
}
}
- 修改启动对象
2. 应用程序的关闭方式
ShutdownMode="OnMainWindowClose"
设置何时结束应用程序,默认为关闭所有程序后结束
OnExplicitShutdown
永远不结束OnLastWindowClose
所有窗口关闭后结束OnMainWindowClose
主窗口关闭后结束
<Application x:Class="项目4.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:项目4"
StartupUri="MainWindow.xaml" ShutdownMode="OnExplicitShutdown">
<Application.Resources>
</Application.Resources>
</Application>
Application类的任务
1. 显示初始界面
2. 处理命令行参数
using System.IO;
using System.Windows;
namespace 项目8 {
/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application {
private void Application_Startup(object sender, StartupEventArgs e)
{
MainWindow win=new MainWindow();
if (e.Args.Length > 0)
{
string file = e.Args[0];
if (File.Exists(file))
{
win.LoadFile(file);
}
}
win.Show();
}
}
}
public void LoadFile(string file)
{
Content = File.ReadAllText(file);
Title = file;
}
3. 访问当前Application对象
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("The main window is:" +Application.Current.MainWindow.Title);
}