当一个WPF应用程序启动时,先会实例化一个全局的唯一的Application。如果开发人员熟悉Windows Form编程,会知道在SystemWindowsForm命名空间中有一个Application类,用于控制整个

应用程序的运行,WPF的Application扮演了与之相同的角色,该类将用于追踪应用程序打开的窗口。在应用程序打开或关闭时,能够出发相应的应用程序事件

  应用程序声明周期

    Application 类是一个单件类,为UI组件和WPF应用程序的创建与执行提供服务,Application类将贯穿WPF应用程序的始终,当应用程序开始时,SystemWindowsApplication

类将被会创建,谭厚会触发各种不同的应用程序事件,单该应用程序退出时,Application 对象被释放,应用程序终止。

  创建Application对象

    尽管在va 2012中,不需要手工去创建一个Application,但是掌握Application对象的创建过程对于以后的开发是非常有用的,下面分步骤介绍手动差U年间Application应用程序的过程

    1.打开vs 创建一个新的WPF项目,命名空WPFApplication 为了手动穿件一个Application对象,必须先手动清楚vs 项目模板自动生成的App.xaml文件

    2.右键项目名称,在弹出的快捷菜单中选择“添加” ——“类”命令,将新创建的类命令为start.cs。

    3.在start.cs文件中,添加一下代码

using System;
using System.Collections.Generic;
using System.Windows;
using System.Text; namespace WpfApplication7
{
public class start
{
[STAThread]
public static void Main()
{
Application my = new Application(); //创建一个Application对象
MainWindow myn = new MainWindow(); //MainWindow对象,作为应用程序的主窗口
myn.Title = "这是应用程序的主窗口";
my.Run(myn); }
}
}

  4.最后还必须指定应用程序的入口点为Start类,右键解决方案资源管理器 中的项目名称,在弹出的快捷菜单中选择“属性” 命令。在启动对象下拉列表框中选择"WPFApplication OnStart.cs"选项类

  5.现在可以按下F5键启动应用程序,手动创建的Application将被创建并贯穿应用程序的始终。

现在分析上面的代码,在Main方法的声明中,使用[STAThread]特性进行修饰,这是必须的。

Application全局应用程序类的更多相关文章

  1. WPF 10天修炼 第三天- Application全局应用程序类

    Application对象 当一个WPF应用程序启动时,首先会实例化一个全局唯一的Application对象,类似于WinForm下的Application类,用于控制整个应用程序,该类将用于追踪应用 ...

  2. asp.net配置全局应用程序类 巧妙达到定时生成静态页面

    //在项目里添加一个"全局应用程序类(Global Application Class)",在里面写这样的代码: public class Global : System.Web. ...

  3. 全局应用程序类(Global.asax)

     注:该部分参考的园区的“积少成多”的 <ASP.NET MVC中的Global.asax文件> . 1.Global.asax文件介绍 global.asax这个文件包含全局应用程序事件 ...

  4. 找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.应用程序类必 须扩展javafx.application.Application”

    用eclipse写代码的时候,写了一个简单的程序,编译的时候突然出现“错误: 在类 com.test.demo 中找不到 main 方法, 请将 main 方法定义为: public static v ...

  5. 错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

    错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args)否则 JavaFX 应用程序类必须扩展ja ...

  6. 错误: 在类中找不到 main 方法, 请将 main 方法定义为: &#160; &#160;public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application 。

    昨天在eclipse编写JAVA程序时,遇到一个问题: 错误: 在类中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] a ...

  7. Thinkphp源码分析系列(三)– App应用程序类

    // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO ...

  8. 错误 在类中找不到main方法请将main方法定义为 public static void main String args否则JavaFX应用程序类必须扩展javafx-ap

    最近在使用eclipse编写java程序时遇到这样一个问题: 错误在类中找不到main方法,请将main方法定义为 public static void main(String[] args)否则 J ...

  9. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap

    最近在使用eclipse编写java程序时遇到这样一个问题: 错误在类中找不到main方法,请将main方法定义为 public static void main(String[] args)否则 J ...

随机推荐

  1. ie8在win7系统下怎么安装或重装?[转载]

    (一)对于已卸载了IE8的用户 因为微软并没有提供用于Windows 7系统的IE8独立安装包,Windows 7用户是无法通过下载安装包的方法来重装IE8的,而是默认将IE8的安装程序集成在Wind ...

  2. Android理解:Activity状态和生命周期

    http://blog.csdn.net/xiao__gui/article/details/11464603

  3. Template 动画

    如果设置Template的动画,也就意味着对每一个具有此Template的对象进行动画处理. 比如对ListBoxI的ItemTemplate进行设置,添加动画,触发器等,每一个ListBoxItem ...

  4. leecode刷题(9)-- 有效的数独

    leecode刷题(9)-- 有效的数独 有效的数独 描述: 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 ...

  5. Linux centos 6.4安装

    Linux系统安装: 开启虚拟机: 界面说明:Install or upgrade an existing system 安装或升级现有的系统install system with basic vid ...

  6. 编译的 Ruby 2.3.0 缺少 openssl 支持的解决方法 (已解决)

    我的系统是centos 7.5,已离线安装ruby-2.3.0,openssl-1.0.2l,rubygems-2.7.4 如下图: 但是在  gem sources -a http://gems.r ...

  7. php中使用PHPExcel读写excel(xls)文件的方法

    首先从GitHub上下载 excel的相关类库 下载地址:https://github.com/PHPOffice/PHPExcel 以下是从excel中获取数据 <?php /** * * @ ...

  8. Objective-C适用C数学函数 <math.h>

    在实际工作中有些程序不可避免的需要使用数学函数进行计算,比如地图程序的地理坐标到地图坐标的变换.Objective-C做为ANSI C的扩展,使用C标准库头文件<math.h>中定义的数学 ...

  9. ArchLinux中证书错误解决方案

    ca-certificates 更新 x509: failed to load system roots and no roots provided. curl error: Problem with ...

  10. 海思hi35xx 开发学习(1):海思媒体处理平台架构

    处理平台架构图: 主要分为: 视频输入(VI):VI 模块捕获视频图像,可对其做剪切.去噪等处理,并输出多路不同分辨率的图像数据. 视频处理(VPSS):VPSS 模块接收 VI 和解码模块发送过来的 ...