C# WPF Application 的 App.xaml 和 Main() 重寫 《一》

當我們新建一個WPF Appliaction, .NetFramework 會爲我們創建 MainWindow.xaml 和 App.xaml 文件。

App.xaml 是整個 WPF Application 的入口, 我們看看它的屬性, 它的 build action 是 ApplicationDefinition, 這是一個 WPF Application 入口應有的 build action。如果把它改成  Page  我們在 Application 的 屬性裏面就找不到 Start object

然後我們發現在 App.xaml.cs 裏面沒有 Main() 方法,  這是由於CLR在編譯的時候自動創建了。但這取決於 App.xaml 的 build action, 如果不是 ApplicationDefinition, CLR 是不會自動創建 Main()。那這個時候就要自己創建。

首先把 build action 改爲 Page, 不使用CLR自動創建的 Main(), 然後自己創建一個。 然後你會發現 Application 的 屬性裏面找到 Start object。

到目前爲止,程序還是跑不動,因爲在Main()方法裏少了啓動程序的重要代碼。添上後就可以了。

全部代碼:

總結:

1. Start object 會以 Main() 爲標記

2. 使用自己創建的 Main() 還是 CLR 自動創建的, 取決於 xaml 文件的 build action 是否 ApplicationDefinition

3. App.xaml 是可以被取代和可選的 

4. 重寫的Main()方法必須寫上程序啓動代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章