C# WPF 自定義Main方法總結

在使用自定義的Main函數啓動應用時,應該需要做這幾步:
1.去掉App.xaml的Application的starup屬性。
2.右鍵App.xaml,屬性 把生成操作改爲Page。
3.如果有引入資源,需要在自己寫的Main裏引入資源,並且一定是在創建任何引用了Appli的資源的窗體前引入。否則,會出現,在設計窗體時,能看到資源樣式,但運行時報錯,找不到資源。
System.Uri resourceLocater = new System.Uri("/HelloLLLLL.PrivateAirDisk.ClientUI;component/app.xaml", System.UriKind.Relative);
System.Windows.Application.LoadComponent(App, resourceLocater);
 
另外,有個額外的知識點,窗體的DialogReslt的屬性設置了非空值,窗體就會被認爲是關閉了,比如這裏, 設置DialogResult爲false,沒有調用Close,結果是這個LoginForm依然被關閉了,所以只有真的要關閉的時候才把結果設爲true,不關閉,也不要設爲false。總之非空就會關閉。
[STAThread]
        static void Main()
        {
            App App = new App();
           
            App.ShutdownMode = ShutdownMode.OnMainWindowClose;
            System.Uri resourceLocater = new     System.Uri("/HelloLLLLL.PrivateAirDisk.ClientUI;component/app.xaml", System.UriKind.Relative);
            System.Windows.Application.LoadComponent(App, resourceLocater);
            MainWindow m_MianWindow = new MainWindow();
            var loginForm = new WinUserLogin();
           
            bool? rt = loginForm.ShowDialog();
            
            if (rt == true)
            {
                App.Run(m_MianWindow);
            }
        }
    

 

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