每一個WPF應用程序,其實都有一個隱藏的Main函數。如果有的時候我們需要給WPF應用程序傳遞參數,我們需要自己寫一個包含Main函數的類來實現。
首先定義一個MainApp類,這個類中必須有一個帶參數的Main(string[] args)函數:
[STAThread]
public static void Main(string[] args){...}
外部傳遞過來的參數就在string[] args里面,例如傳遞的參數是字符串“1 2 3”,則args的內容是args[0]="1",args[1]="2",args[2]="3",每個數組元素間是以空格分隔的。
然后,將帶有Main函數的MainApp類設置為啟動對象,選擇當前項目->然后右鍵->選擇屬性->應用程序面板,設置啟動對象。
這樣打開程序,程序就會從MainApp類的Main函數啟動,而不是原來隱藏的Main函數。但是這並沒有結束,我們接收到參數以后,還需要啟動以前的應用程序。
在項目中應該有一個App.xaml和一個App.xaml.cs文件。他們是一個自動生成的Application類,在App.xaml里面設置程序的啟動頁面StartupUri="Window.xaml",也就是我們原先的程序界面。
我們需要在新的MainApp類的Main函數最后實例化這個App類,然后運行,以啟動Window.xaml所定義的窗口。
App app = new App();這樣就能啟動原來的界面。
app.InitializeComponent();
app.Run();
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。