WPF 啟動初始界面


不經意間發現了wpf的這個小玩意,感覺蠻有意思的。
我在項目中添加了一張圖片 如圖:

然后再這張圖片的屬性中設置它的生成操作為SplashScreen 如圖:

之后f5啟動程序,你會發現在你主程序啟動之前會出現一個0.5秒的動畫,當然這個是默認的,您可以通過程序來進行對它的控制。

博友心聲:怎么控制呢?

DebugLZQ:首先讓我們看看這個過程到底發生了什么,用Reflector反編譯PE文件如下:

從上面的il代碼可以很直觀地看出來,其實它是先實例化了一個SplashScreen,然后調用了它的Show方法而已。

如果是這樣的話,我們當然也可以自己寫代碼來實現,MSDN文檔關於SplashScreen的描述地址為:http://msdn.microsoft.com/zh-tw/library/cc647682.aspx 查閱相關的方法,如下:

則我們可以通過提過如下實現:

首先,讓我們將圖片的生成操作修改為“嵌入的資源”

然后是編碼實現,DebugLZQ提供完整代碼如下:

?
/// <summary>
     /// App.xaml 的交互邏輯
     /// </summary>
     public partial class App : Application
     {       
         protected override void OnStartup(StartupEventArgs e)
         {       
             SplashScreen s = new SplashScreen( "DebugLZQ.JPG" );
             s.Show( false );
             s.Close( new TimeSpan(0, 0, 10));
 
             base .OnStartup(e);
         }
     }

  注意事項(來自MSDN,具體請參考MSDN文檔:http://msdn.microsoft.com/zh-tw/library/cc647682.aspx):

1.在部分信任中無法使用 SplashScreen 類別。

2.SplashScreen 類別不能用於 XAML 瀏覽器應用程式 (XBAP) 中,因為這些應用程式使用不同的啟動架構。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM