Application全局应用程序类
当一个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全局应用程序类的更多相关文章
- WPF 10天修炼 第三天- Application全局应用程序类
Application对象 当一个WPF应用程序启动时,首先会实例化一个全局唯一的Application对象,类似于WinForm下的Application类,用于控制整个应用程序,该类将用于追踪应用 ...
- asp.net配置全局应用程序类 巧妙达到定时生成静态页面
//在项目里添加一个"全局应用程序类(Global Application Class)",在里面写这样的代码: public class Global : System.Web. ...
- 全局应用程序类(Global.asax)
注:该部分参考的园区的“积少成多”的 <ASP.NET MVC中的Global.asax文件> . 1.Global.asax文件介绍 global.asax这个文件包含全局应用程序事件 ...
- 找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.应用程序类必 须扩展javafx.application.Application”
用eclipse写代码的时候,写了一个简单的程序,编译的时候突然出现“错误: 在类 com.test.demo 中找不到 main 方法, 请将 main 方法定义为: public static v ...
- 错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application
错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args)否则 JavaFX 应用程序类必须扩展ja ...
- 错误: 在类中找不到 main 方法, 请将 main 方法定义为:    public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application 。
昨天在eclipse编写JAVA程序时,遇到一个问题: 错误: 在类中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] a ...
- Thinkphp源码分析系列(三)– App应用程序类
// +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO ...
- 错误 在类中找不到main方法请将main方法定义为 public static void main String args否则JavaFX应用程序类必须扩展javafx-ap
最近在使用eclipse编写java程序时遇到这样一个问题: 错误在类中找不到main方法,请将main方法定义为 public static void main(String[] args)否则 J ...
- 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.ap
最近在使用eclipse编写java程序时遇到这样一个问题: 错误在类中找不到main方法,请将main方法定义为 public static void main(String[] args)否则 J ...
随机推荐
- UML uml基础知识
uml基础知识 一.了解: uml是Unified Modeling Language的缩写,意思是统一建模语言或标准建模语言. UML规范用来描述建模的概念有,类(对象的).对象.关联.职责.行为. ...
- codeforces|CF1054D Changing Array
因为数据范围是2e5级别的,所以我们考虑用异或前缀和来处理区间的异或情况.(比如说a包括b,那么我们通过异或可以知道b对于a的补区间的信息) 之后因为对任意\(a_i\)进行取反操作,会改变它和它之后 ...
- Windows 64位操作系统的ODBC
我的操作系统是windows server 2008 R2 X64,系统自带两个版本的ODBC管理器,在"运行"中输入下面内容分别调出他们: X64: C:\windows\sys ...
- UWA发布 | 2017 Unity手游体检蓝皮书 — ARPG篇
报告目录: 一.ARPG手游总体性能开销分析 二.ARPG手游CPU模块性能开销分析 三.ARPG手游内存模块性能开销分析 四.ARPG手游资源管理分析 五.UWA对于ARPG手游研发团队的建议 一. ...
- 深入了解java虚拟机(JVM) 第二章 内存区域---栈空间
一.栈的含义 用于描述方法执行的动态内存模型,简单来说就是代码中的方法模块.主要用于局部变量表.栈的大小在编译器中就已经分配了空间,在进入一个方法时,这个方法需要栈帧分配多少内存是固定的,运行期间是不 ...
- bzoj2754:[SCOI2012]喵星球上的点名(后缀自动机)
Description a180285幸运地被选做了地球到喵星球的留学生.他发现喵星人在上课前的点名现象非常有趣. 假设课堂上有N个喵星人,每个喵星人的名字由姓和名构成.喵星球上的老师会选择M个串 ...
- 剑指offer面试题1---赋值运算符函数
题目描述:如下类型CMyString的声明,请为该类型添加赋值运算符函数. class CMyString{public: CMyString(char* pData = NULL); C ...
- [ActionScript 3.0] 与C#通信方法fscommand
与C#通信的方法之一 flash.system.fscommand(command:String, args:String=""):void, command 传递给主机应用程序的 ...
- Linux 内存监控
1.按照内存使用方式排序 top 之后使用 shift + m 那么top按照内存使用从大到小进行排列,使用 shift + P 表示按照CPU进行排序. bigfish 1118m 438m 30m ...
- 23.each和map函数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...