1.Application介绍

WPF与WinForm一样有一个 Application对象来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只有一个 Application 实例存在。和 WinForm 不同的是WPF Application默认由两部分组成 : App.xaml 和 App.xaml.cs,这有点类似于 Asp.Net WebForm,将定义和行为代码相分离。
微软把WPF中经常使用的功能都封装在 Application 类中了。 Application 类具体有以下功能:

  1. 跟踪应用程序的生存期并与之交互。
  2. 检索和处理命令行参数。
  3. 检测和响应未经处理的异常。
  4. 共享应用程序范围的属性和资源。
  5. 管理独立应用程序中的窗口。
  6. 跟踪和管理导航。

2.WPF应用程序的启动方式

1.使用程序自身App.xaml文件定义启动WPF应用程序启动点

XAML从严格意义上说并不是一个纯粹的 XML 格式文件,它更像是一种 DSL(Domain Specific Language,领域特定语言),它的所有定义都会由编译器最后编译成代码。

App.xaml文件默认内容如下图:

 2、通过创建一个自定义类(类内定义Main方法--特性STAThread)来实现WPF程序启动:
第一步:去除原有App.xaml文件--如下图,在“解决方案资源管理器”中使用鼠标左键选中App.xaml文件,然后鼠标右键,弹出“弹出菜单—》从项目中排除”,这样就在项目中去掉了我们刚才建立的App.xaml文件。

第二步:现在中添加一个新类(WPF程序启动点),类名为App.cs。如下图。在“解决方案资源管理器”中使用鼠标左键选中“WpfApp1”项目,然后点击鼠标右键,弹出“弹出菜单”,按下图中所示操作。

第三步:在弹出的“添加新项”界面中,选中“类”,把名称修改为“App.cs”。如下图。

第四步:在“解决方案资源管理器”中双击App.cs(如下图),打开文件,然后可以分别写入以下三种方式的代码,进行启动效果的调试

第一种启动应用程序的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace WpfApp1;
{class App{[STAThread]static void Main(){// 定义Application对象作为整个应用程序入口  Application app = new Application();// 方法一:调用Run方法 ,这种方式跟winform的调用一样WindowGrid win = new WindowGrid();app.Run(win);}}
}

第二种启动应用程序的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;namespace WpfApp1
{class App{[STAThread]static void Main(){// 定义Application对象作为整个应用程序入口  Application app = new Application();      //指定Application对象的MainWindow属性为启动窗体,然后调用无参数的Run方法  WindowGrid win = new WindowGrid();  app.MainWindow = win;//是必须的,否则无法显示窗体       win.Show();                    app.Run();  }}
}

第三种启动应用程序的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace WpfApp1
{class App{[STAThread]static void Main(){// 定义Application对象作为整个应用程序入口  Application app = new Application();// 通过Url的方式启动app.StartupUri = new Uri("WindowGrid.xaml", UriKind.Relative);app.Run();}}
}

以上三种方法都可以使WPF程序启动窗口运行成功

WPF教程(二)--Application WPF程序启动方式相关推荐

  1. WPF(二) WPF核心进阶

    一.组合控件 控件模型:WPF 提供三个用于创建控件的常规模型,每个模型都提供不同的功能集和灵活度. 三个模型的基类是UserControl.Control 和 FrameworkElement .其 ...

  2. 麒麟子Javascript游戏编程零基础教程二:游戏程序员分工

    小伙子,能够走到这里,你已经不错了. 什么?你是妹子? 放心吧,入了这行,妹子也会被"汉化"的. 游戏程序员分工,以及对应的技能需求. 一.按大类划分 1.客户端程序员 负责处理客 ...

  3. Burpsuite教程(二)微信小程序抓包

    文章目录 1.测试环境 2.测试流程 2.1开启电脑代理 2.2开启burpsuite代理 2.3电脑打开小程序 2.4查看抓包效果 1.测试环境 Mac电脑(windows类似) 正式版微信3.0( ...

  4. 库卡机器人bco运动_库卡KUKA机器人四种启动方式

    库卡机器人四大启动方式说明 1.自动运行方式 (1)自动运行说明 库卡机器人处于自动运行时,先要在手动状态时候选择需要运行的程序,然后通过钥匙开关切换机器人到自动运行状态,给机器人上电,然后启动机器人 ...

  5. 库卡机器人bco运动_库卡机器人四种启动方式说明——库卡机器人

    一.库卡机器人四大启动方式说明 1.自动运行方式 (1)自动运行说明 库卡机器人处于自动运行时,先要在手动状态时候选择需要运行的程序,然后通过钥匙开关切换机器人到自动运行状态,给机器人上电,然后启动机 ...

  6. java 启动类_java程序启动,类的加载情况

    一.java程序运行的时候,不是所有类必须被加载到jvm虚拟机中才可以正常使用 是不是所有的class文件都在启动的时候全部加载呢? java中的类大致分为三种:  1.系统类 2.扩展类 3.由程序 ...

  7. 初学WPF之程序启动几种方式

    1.第一种是默认的方式,通过app.xaml中的StartupUri="MainWindow.xaml"配置的. 1 <Application x:Class="B ...

  8. WPF Application 类介绍以及怎样修改启动方式

    因为想要修改wpf的启动方式,所以研究了下Application类,现把一些有用的属性与大家分享下: 属性: Current                  获取当前 AppDomain的 Appl ...

  9. 《Programming WPF》学习(二)Application及其设置

          2.1Application简介 Application是一个地址空间,在WPF中应用程序就是在System.Windows命名空间下的一个Application实例.一个应用程序只能对应 ...

最新文章

  1. opensuse安装nginx
  2. Node.js 多版本安装方式
  3. python 日期格式和字符串格式的转化
  4. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
  5. beoplay耳机序列号查询_BOSE耳机序列号如何查询?
  6. LwIP之ARP协议
  7. excel vba真正的动态数组实例-按需定义数组大小
  8. 免费的东东真给力:轻松实现代码变更与缺陷,任务和需求的紧密关联.
  9. 北京大学联合复旦大学发布中文空间语义理解评测SpaCE2021
  10. 酷狗音乐linux版_酷狗音乐PC版 9.1新版本初体验
  11. 注册机是如何获取序列号的?
  12. 习题 3.10 有一函数:写一程序,输入x,输出y值。
  13. Captura录屏没有声音解决方法
  14. webview造成窗体泄漏
  15. 使用Python读取raw格式图像并显示
  16. C#实践——计算GPA
  17. Gee引擎配置微端后登录游戏黑屏怎么办?
  18. linear regression and logistic regression 1
  19. 【Java 常用的设计模式】
  20. 信息熵(entropy)定义公式的简单理解

热门文章

  1. 魏永征《向媒介侵权讨说法:媒介侵权法律问题》
  2. 根据LocalDate或者DateUtils计算两个日期之间的天数差
  3. 一个计算数独的小程序
  4. ACFLY开源飞控的介绍
  5. Oracle 计算两日期间隔月数
  6. Cannot assign to read only property ‘0’ of string的报错原因之一及解决办法
  7. echarts改变字体颜色
  8. 融合蓝牙与IoT 拓展Wi-Fi商业价值
  9. FIPS 140-3与140-2的差异-1
  10. Python——下载数据集时报错解决:ContentTooShortError: <urlopen error retrieval incomplete: got only XX out of XX