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