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);
        }
    }
}

c3d.club

2. 应用程序的关闭方式

ShutdownMode="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. 显示初始界面

c3d.club

c3d.club

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);
}