建立一個自訂的Application類

來源:互聯網
上載者:User

標籤:原始碼   ali   present   開發   span   dde   res   debugger   應用程式   

由於每個應用程式必須建立一個Application對象,vs為開發人員提供了模板來減輕開發人員的重複工作。當使用vs建立一個WPF應用程式是,vs會自動建立一個app.xaml檔案,

<Application x:Class="WpfApplication8.App"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:local="clr-namespace:WpfApplication8"             StartupUri="MainWindow.xaml">    <Application.Resources>             </Application.Resources></Application>

聲明代碼中的startupUri屬性用於指定將要作為應用程式主視窗的XAML檔案,這個app.xaml檔案同樣也具有一個後置檔案,與XAML代碼想關聯的後置檔案

派生自XAML根項目的衍生類別。因此從app.xaml.cs中可以看到,app類是一個派生自Application類的衍生類別,但是讓人好奇的是,後置代碼並沒有發現Main方法,也沒有看到執行個體化

Application類的代碼。

  與MainWindow.xaml一樣,vs自動為app.xaml產生了一個局部類名為App.g.cs。在應用程式編譯後,可以從obj\Debug檔案夾下找到這個檔案。App.g.cs的原始碼如下

public partial class App : System.Windows.Application {                /// <summary>        /// InitializeComponent  方法自動產生的程式碼        /// </summary>        [System.Diagnostics.DebuggerNonUserCodeAttribute()]        [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]        public void InitializeComponent() {                        #line 5 "..\..\App.xaml"            this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative);                        #line default            #line hidden        }                /// <summary>        /// Application Entry Point.        /// </summary>        /// vs足底報告產生的應用程式的進入點        [System.STAThreadAttribute()]        [System.Diagnostics.DebuggerNonUserCodeAttribute()]        [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]        public static void Main() {            //建立一個派生子Application類的執行個體            WpfApplication8.App app = new WpfApplication8.App();            app.InitializeComponent();            app.Run();        }    }}

在這個自動產生的局部類,可以看到產生了一個Main方法來作為應用程式的進入點,Main方法首先執行個體化一個App對象,緊接著調用了靜態InitializeComponent方法。在該方法中,只是為了Application類設定了Startup屬性,為該屬性

賦予一個相對路徑的XAML檔案的URI。

  

建立一個自訂的Application類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.