1. 程式人生 > >WPF的進階之路

WPF的進階之路

一.Application介紹  微軟把WPF中經常使用的功能都封裝在 Application 類中了。 Application 具體有以下功能:
  • 跟蹤應用程式的生存期並與之互動。 
  • 檢索和處理命令列引數。 
  • 檢測和響應未經處理的異常。 
  • 共享應用程式範圍的屬性和資源。 
  • 管理獨立應用程式中的視窗。 
  • 跟蹤和管理導航。 
二.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();  
        }
    }
}