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. 上面的方法,最後執行的效果,以下圖。

 

相關文章
相關標籤/搜索