• WPF:应用程序(Application)对象


    Application 类表示一个 WPF 应用程序,此对象用来启动应用程序和关闭应用程序等相关的服务,每一个WPF 应用程序都有一个相关的 Application 对象。

    在 WPF 中定义一个 Application 对象有三种方法,一种是使用 XAML 来定义,一种是使用代码来定义,最后一种就是使用 XAML 和代码共同定义 Application 对象。

    1、使用 XAML 来定义 Application 对象:

    <Application
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" />

    上面的代码断定义一个从 Application 对象继承的应用程序对象,上面的代码只是定义一个应用程序对象,并没有设置启动时所要显示的内容,所以当此应用程序启动后,将看不到任何的信息。

    我可以在 XAML 中使用 StartupUri 来指定在应用程序启动时需要显示的内容,如:

    <Application
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      StartupUri="HelloWorld.xaml" />

    上面的代码指示在应用程序启动后显示 HelloWorld.xaml 文件所定义的内容,HelloWorld.xaml 文件定义的内容中,根元素定义的对象必须是以下几种类型:Window、NavigationWindow、Page、UserControl、FlowDocument、PageFunction,当定义的类型为 Page、UserControl、FlowDocument、PageFunction 时,应用程序将创建一个 NavigationWindow 窗口,并在此窗口加载 StartupUri 指定的内容

    2、使用代码来定义应用程序对象:

    public class MyApp : Application
    {
     [STAThread]
     
    static void Main()
     {
      MyApp app 
    = new MyApp();
      app.Startup 
    += app_Startup;
      app.Run();
     }

     
    static void app_Startup(object sender, StartupEventArgs e)
     {
      
    // 在这里显示一个窗口
     }
    }

    上面的代码定义应用程序对象 MyApp,此对象从 Application 类继承,当使用纯代码定义应用程序对象的时候,需要为应用程序提供一个程序的入口点 Main 方法,而且此方法必须使用 STAThread 属性标识,然后在 Startup 事件中显示一个窗口,应用程序对象将自己使用第一个窗口作为应用程序的主窗口,还要可以使用 Application 对象的 Windows 获取当前应用程序所有实例化的窗口。

    3、使用 XAML 和代码共同定义一个 Application 对象:
    XAML:
    <Application
      x:Class="App"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" />

    代码:

    using System;
    using System.Windows;
    public partial class App : Application
    {
     
    public App()
     {
      InitializeComponent();
     }
    }

    这里在后台的代码类定义的时候使用了 partial 关键字,启动时需要显示的窗口可以在 XAML 中指定也可以 Startup事件中打开。另外就是需要在对象的构造函数中调用 InitializeComponent 方法来设置在 XAML 文件所设置的属性。

    在使用 XAML 或使用 XAML 和代码来定义应用程序的时候,编译器会自己动程序添加 Main 方法,所以使用这两种方法定义应用程序时,不需要为程序指定 Main 方法。

  • 相关阅读:
    Django组件——分页器
    Django与Ajax
    Python常用模块——包&跨模块代码调用
    Python常用模块——正则表达式re模块
    Python常用模块——文件复制模块shutil
    Python常用模块——hashlib加密
    git小乌龟配置
    设计模式学习(27)- MVC模式
    设计模式学习(26)- 访问者模式
    设计模式学习(25)- 模板模式
  • 原文地址:https://www.cnblogs.com/kuku/p/645623.html
Copyright © 2020-2023  润新知