當一個WPF應用程序啟動時,先會實例化一個全局的唯一的Application。如果開發人員熟悉Windows Form編程,會知道在SystemWindowsForm命名空間中有一個Application類,用於控制整個
應用程序的運行,WPF的Application扮演了與之相同的角色,該類將用於追蹤應用程序打開的窗口。在應用程序打開或關閉時,能夠出發相應的應用程序事件
應用程序聲明周期
Application 類是一個單件類,為UI組件和WPF應用程序的創建與執行提供服務,Application類將貫穿WPF應用程序的始終,當應用程序開始時,SystemWindowsApplication
類將被會創建,譚厚會觸發各種不同的應用程序事件,單該應用程序退出時,Application 對象被釋放,應用程序終止。
創建Application對象
盡管在va 2012中,不需要手工去創建一個Application,但是掌握Application對象的創建過程對於以后的開發是非常有用的,下面分步驟介紹手動差U年間Application應用程序的過程
1.打開vs 創建一個新的WPF項目,命名空WPFApplication 為了手動穿件一個Application對象,必須先手動清楚vs 項目模板自動生成的App.xaml文件
2.右鍵項目名稱,在彈出的快捷菜單中選擇“添加” ——“類”命令,將新創建的類命令為start.cs。
3.在start.cs文件中,添加一下代碼
using System; using System.Collections.Generic; using System.Windows; using System.Text; namespace WpfApplication7 { public class start { [STAThread] public static void Main() { Application my = new Application(); //創建一個Application對象 MainWindow myn = new MainWindow(); //MainWindow對象,作為應用程序的主窗口 myn.Title = "這是應用程序的主窗口"; my.Run(myn); } } }
4.最后還必須指定應用程序的入口點為Start類,右鍵解決方案資源管理器 中的項目名稱,在彈出的快捷菜單中選擇“屬性” 命令。在啟動對象下拉列表框中選擇"WPFApplication OnStart.cs"選項類
5.現在可以按下F5鍵啟動應用程序,手動創建的Application將被創建並貫穿應用程序的始終。
現在分析上面的代碼,在Main方法的聲明中,使用[STAThread]特性進行修飾,這是必須的。