博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF入门教程系列二——Application介绍
阅读量:7016 次
发布时间:2019-06-28

本文共 2525 字,大约阅读时间需要 8 分钟。

一.Application介绍

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

微软把WPF中经常使用的功能都封装在 Application 类中了。 Application 类具体有以下功能: 

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

二.WPF应用程序的启动

关于如何在Visual Studio中创建一个“WPF应用程序”,前面的文章中已经说过了。请参见。

1、在Visual Studio 2013中创建一个“WPF应用程序”,使用App.xaml文件定义启动应用程序。XAML从严格意义上说并不是一个纯粹的 XML 格式文件,它更像是一种 DSL(Domain Specific Language,领域特定语言),它的所有定义都会由编译器最后编译成代码。App.xaml文件默认内容如下图:

 

2、当然,如果你习惯了把启动写在代码中。你也可以跟WinForm中一样,在类中定义一个Main方法来实现对WPF应用程序的启动。

第一步:如下图,在“解决方案资源管理器”中使用鼠标左键选中App.xaml文件,然后鼠标右键,弹出“弹出菜单—》从项目中排除”,这样就在项目中去掉了我们刚才建立的App.xaml文件。

第二步:现在中添加一个新类,类名为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();        }    }}

 

3. 上面的方法,最后执行的效果,如下图。

 

 
 

转载于:https://www.cnblogs.com/Im-Victor/p/10564962.html

你可能感兴趣的文章
通过注册表开通关闭局域网共享
查看>>
Asp.net 导入导出Excel
查看>>
Oracle 10.2.0.4(5)EM不能启动的解决方案
查看>>
AngularJS—— 独立作用域
查看>>
Web开发(初级)- CSS基础
查看>>
Cacti weathermap添加实时读数节点
查看>>
Linux就该这么学
查看>>
Qmail 邮件系统维护管理技术文档
查看>>
Google Guava - Cache
查看>>
你以为的SPSS只是简单的数据分析软件吗?
查看>>
CSS Grid Simple Example
查看>>
《Windows服务器配置与管理》本地用户、组的管理
查看>>
mysql数据库移植sqlserver数据库
查看>>
使用update-alternatives 命令修改Java版本-自动切换Java版本
查看>>
SQL Server 2016 Failover Cluster+ ALwaysOn(二)
查看>>
spring源码--依赖注入
查看>>
rhel7配置多用户tiger vnc server
查看>>
iOS播放系统声音
查看>>
const 命令
查看>>
我的友情链接
查看>>