WPF:Application简介

Application是一个地址空间,在WPF中应用程序就是在System.Windows命名空间下的一个Application实例。一个应用程序只能对应一个Application的实例,而Application的生命周期自然是从运用程序启动到终止的周期。

与winform类似,WPF需要一个ApplicationL来全局的行为和操作,并且每个DOmain中只能有一个Application实例,和winform不同WPF默认有2部分组成:App.xaml和App.xaml.cs:

WPF应用默认启动方式是由:XAML中的StartupUri

自定义启动函数有三种常用的启动方法:

1.默认方式StartupUri,我们新建一个WPF应用程序看下它的xaml文件,明显的看到它指向MainWindow窗体

  1. <Application x:Class="WPFApplication应用.App"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. StartupUri="MainWindow.xaml">
  5. <Application.Resources>
  6.  
  7. </Application.Resources>
  8. </Application>

2.mainwindow属性启动窗体

3.调用run方法,参数为启动的窗体对象

我们删除app.axml文件,自定义来演示三种启动方式,首先新建一个类来做为启动项,引入System.Windows命名空间,然后继承Application对象:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. //引用
  6. using System.Windows;
  7.  
  8. namespace WPFApplication应用
  9. {
  10. class StartMain:Application
  11. {
  12. [STAThread]
  13. static void Main()
  14. {
  15. ////方法一:调用run方法,参数为启动的窗体对象 ,也是最常用的方法
  16. Application app = new Application();
  17. Window1 win = new Window1();
  18. app.Exit += new ExitEventHandler(app_Exit);
  19. app.Run(win);
  20.  
  21. // 方法二:指定application对象的mainwindow属性为启动窗体,然后调用无参数的run方法
  22. //Application app = new Application();
  23. //Window1 win = new Window1();
  24. //app.MainWindow = win;
  25. //win.Show();
  26. //app.Run(win);
  27.  
  28. // 方法三:通过url的方式启动
  29. //Application app = new Application();
  30. //app.StartupUri = new Uri("Window1.xaml", UriKind.Relative);
  31.  
  32. //设置应用退出模式
  33. //app.ShutdownMode = ShutdownMode.OnMainWindowClose;
  34. //app.Run();
  35. }
  36.  
  37. static void app_Exit(object sender, ExitEventArgs e)
  38. {
  39. Console.WriteLine("app_Exit");
  40. }
  41. }
  42. }

  

  1. ////方法一:调用run方法,参数为启动的窗体对象 ,也是最常用的方法
  2. //Application app = new Application();
  3. //Window1 win = new Window1();
  4. //app.Exit += new ExitEventHandler(app_Exit);
  5. //app.Run(win);

 demo实例:

http://www.cnblogs.com/BABLOVE/admin/Files.aspx

WPF之application对象的更多相关文章

  1. WPF基础——Application

    一.Application介绍 WPF中的Application对象用来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只有一个 Application 实例存在.WPF App ...

  2. WPF入口Application

    1.WPF和 传统的WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain (应用程序域)中只能有一个 Application 实例存 ...

  3. WPF的Application类

    本节主要介绍一下Application类的部分功能,我们首先来看一下如何使用Application类来加载一个窗口: 我们首先创建一个控制台程序,并引入相关的dll,然后修改Main()方法. [ST ...

  4. 六,WPF的Application类

    Application.ShutdownMode属性:通过,只要有一个窗口还没有关闭,Application类就保持应用程序处于有效状态,如果这不是所期望的行为,就可以调整该属性. 应用程序事件 Ap ...

  5. WPF中Application.Current的使用

    WPF程序对应一个Application对象,当前的Application对象可以通过Application.Current获取,通过获取到的Application对象,我们可以做以下的事情: App ...

  6. wpf(Application 如何创建一个事件,及其Application相关的属性)

    1.如何关闭wpf程序.应用程序的关闭只有调用其shutdown方法才可以.shutdown有三种属性.OnLastWindowClose,OnMainWindowClose,OnExplicitSh ...

  7. [转]WPF入口Application

    1.WPF和 传统的WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain (应用程序域)中只能有一个 Application 实例存 ...

  8. Application对象、ViewState对象、分页展示--2017年1月4日

    Application对象 存储 Application 变量  Application["application名称"] = "application的值"; ...

  9. JSP内置对象之application对象

    虽然常把Web应用称为B/S架构的应用,但其实Web应用一样是C/S结构的应用,只是这种应用的服务器是Web服务器,而客户端是浏览器. 现在抛开Web应用直接看Web服务器和浏览器. Web服务器负责 ...

随机推荐

  1. java集合类之TreeMap

    转自:http://blog.csdn.net/chenssy/article/details/26668941 TreeMap的实现是红黑树算法的实现,所以要了解TreeMap就必须对红黑树有一定的 ...

  2. linux运维安全工具集合[持续更新中..]

    lynis 安全漏洞检测工具    https://cisofy.com/download/lynis/    https://cisofy.com/files/lynis-2.2.0.tar.gz ...

  3. 利用WinDriver开发PCI设备驱动程序

    摘要 WinDriver是Jungo公司出版的一个设备驱动程序开发组件,它可以大大加速PCI设备驱动程序的开发.作者在实际的项目中采用了WinDriver来开发设备驱动程序,取得了相当好的运行效果.从 ...

  4. python中的lambda表达

    C++中的lambda表达式与C++11增加标准库,是一个简短的匿名的可调用对象,编译器会将其转化为一个匿名类的对象.lambda表达式的最大特点就是简短灵活.调用方便.它不须要处理非常复杂的逻辑.通 ...

  5. 基于单个 div 的 CSS 画图

    原文: Single Div Drawings with CSS 译文: 基于单个 div 的 CSS 画图 译者: 前端外刊评论 译注:通读本文,强烈地感受到了技术与艺术的结合.赞作者的这句话:Re ...

  6. PYTHON queue

    http://blog.csdn.net/bravezhe/article/details/8588437

  7. one problem about Apple Keychain in use

    解决方案 Add Security.framework, then rebuild. Sometimes I find I have to build clean and then rebuild. ...

  8. 多目标遗传算法 ------ NSGA-II (部分源码解析) 快速排序代码 sort.c

    /* Routines for randomized recursive quick-sort */ # include <stdio.h> # include <stdlib.h& ...

  9. CI框架篇之预热篇(1)

    CodeIgniter 的基本都了解了,现在就开始预热,如果学习一门语言一样,我们最开始都是输出一个'HELLO WORLD'一样, 现在我们也通过输出这样一个内容,来了解基本的使用. CodeIgn ...

  10. .NET 统一用户管理 -- 单点登录

    单点登录 前言 本篇做为.Net 统一用户管理的系列文章的开山之作,主要说一个单点登录是怎么实现的,以及为啥要统一用户管理. 单点登录(Single Sign On),简称为 SSO,是目前比较流行的 ...