WPF入门教程系列二——Application介绍

一.Application介绍html

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

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

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

二.WPF应用程序的启动命令行

关于如何在Visual Studio中建立一个“WPF应用程序”,前面的文章中已经说过了。请参见WPF入门教程系列一——基础调试

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

 

二、固然,若是你习惯了把启动写在代码中。你也能够跟WinForm中同样,在类中定义一个Main方法来实现对WPF应用程序的启动。orm

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

第二步:如今中添加一个新类,类名为App.cs。以下图。在“解决方案资源管理器”中使用鼠标左键选中“WpfApp1”项目,而后点击鼠标右键,弹出“弹出菜单”,按下图中所示操做。对象

 

 

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

 

第四步:在“解决方案资源管理器”中双击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. 上面的方法,最后执行的效果,以下图。

 

相关文章
相关标签/搜索