2016-08-11 44 views
-1

WPFアプリケーションの起動が遅い(コールドスタートアップ)、ユーザーがアプリケーションのアイコンをダブルクリックするとすぐにアプリケーションメインウィンドウが表示されるようにします。WPFアプリケーションの改善スプラッシュ画面を使用したコールドスタートアップのパフォーマンスの確認

私はこのBlogを読みました。この遅延を避けるためにスプラッシュ画面を追加したいと思います。

スタートアップを改善するために初期化コードを追加するにはどうしたらいいですか、またはアプリケーションが必要なコンポーネントをすべてロードするまでスプラッシュ画面が表示されますか?いいえ、私はアプリケーションにスプラッシュ画面を追加しました。それはあなたがそうMainWindowがそんなに遅れることに時間を浪費しているリソースをロードする場所によって異なり、高度な

答えて

0

感謝。既にXAMLのブロック<App.Resouces />にそれらを作成しているのなら、それは難しいことです。

彼らは<MainWindow.Resources />であなたのビューモデルのためのリソースとして作成された場合、その後非常に単純にあなたのスプラッシュスクリーンを含むツールウィンドウまたは類似を作成し、同じようApplication_Startupイベントの中でそれを示しています。

public partial class App : Application 
{ 
    // A Splash-Window to overlay until everything is ready. 
    public SplashWindow AppLauncher = new SplashWindow(); 

    private void Application_Startup(object sender, StartupEventArgs e) 
    { 
     AppLauncher.lblText.Content = "Loading data..."; 
     AppLauncher.Show(); 
    } 
} 

そして、すべてのリソースMainWindowにロードしてから、Loadedイベントにウィンドウを再度表示/非表示にします。

public partial class MainWindow : Window 
{ 
    private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     (App.Current as App).AppLauncher.Close(); 
    } 
} 
関連する問題