1. 程式人生 > 其它 >Application 類

Application 類

VS 並不採用這種模式,而是從Application類中派生一個自定義的類,在派生的自定義類中,放置所有事件處理程式碼。VS為Application類使用的模型本子上和用於視窗的模式是相同的,七點是一個XAML的模板,預設情況下,被預設為App.xaml

應用程式的關閉方式 :ShutdownMode

應用程式事件:

  • Startup:在呼叫Run方法之後,主視窗顯示之前發生;
  • Exit:在應用程式關閉時,在Run方法返回之前發生;
  • SessionEnding:在Windows對話結束時發生,對使用者登出或關閉計算機
  • Activated:當應用程式的一個視窗被啟用,從其他應用程式切換到當前應用程式
  • Deactivated:當一個應用程式被取消啟用,切換到另一個應用程式
  • DispatcherUnhandledException:發生未處理異常觸發事件

有兩種選擇用於處理這些事件;

  1. 關聯事件的處理程式
  2. 重寫相應的受保護的方法:對於每一個應用程式都可以呼叫相關的方法來引發這個事件。方法的名稱就是 On+事件的名稱,

Application 類的任務:

  • 顯示初始介面 :設定圖片屬性為SplashScreen時,在載入主窗體時同時載入影象
  • 處理命令引數行:響應StartUp事件 ——在專案郵件,屬性,除錯,命令列引數


    App.xaml

     private void Application_Startup(object
    sender, StartupEventArgs e) { MainWindow win = new MainWindow(); if (e.Args.Length > 0) { string file = e.Args[0]; if (File.Exists(file)) { win.LoadFile(file); } } win.Show(); }

    MainWindow

            public void LoadFile(string path)
            {
                //this.Content = File.ReadAllText(path);
                this.TextBlock.Text = System.IO.File.ReadAllText(path);
                this.Title = path;
            }
  • 訪問當前Application物件
    通過靜態物件的Common屬性,可以在任何地方獲取當前應用程式例項,從而實現視窗的互動。(任何物件都可以訪問Application物件並通過Application物件獲取主視窗的引用)
  • 在視窗之間切換