当一个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. jquery 全选反选 .prop('checked',!$(this).is(':checked'));

    //废话不说直接上代码 $("#").click(function(){ $("#content-div label input[type='checkbox']&quo ...

  2. django fileup-load

    文件上传 使用form表单类的上传 forms.py from django import forms class UploadFileForm(forms.Form): title = forms. ...

  3. emacs 考场配置

    先存在这里,免得等回来乱搞的时候把自己的配置搞丢了qwq (custom-set-variables '(custom-enabled-themes (quote (tango-dark)))) (c ...

  4. Django-04模板层

    你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. def current_datetime(request): now = datet ...

  5. OCP 12c最新考试原题及答案(071-4)

    4.(4-11) choose two:View the Exhibit and examine the data in the PRODUCT_INFORMATION table.Which two ...

  6. kvm虚拟机动态迁移

    相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可 ...

  7. fdisk 磁盘分区

    .[root@test4 ~]# fdisk /dev/sda //对sda磁盘进行分区 Device contains neither a valid DOS partition table, no ...

  8. linux密码修改实验

    1.在单用户模式下进行引导 在不同的运行级别中,一个重要的运行级别就是单用户模式(运行级别1),该模式中,只有一个系统管理员使用特定的机器,而且尽可能少地运行系统服务,其中包含登录.单用户模式对少数管 ...

  9. mysql查询语句常用字段操作函数

    一.concat()函数 1.功能:将多个字符串连接成一个字符串. 2.语法:concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为nu ...

  10. 2016级算法第三次上机-F.ModricWang的导弹防御系统

    936 ModricWang的导弹防御系统 思路 题意即为:给出一个长度为n的序列,求出其最长不降子序列. 考虑比较平凡的DP做法: 令\(nums[i]\) 表示这个序列,\(f[x]\) 表示以第 ...