1

私はWPFブラウザアプリケーションに取り組んでいます。問題は、最初にいくつかの重いサービスをロードする必要があることです。これにより、ページコンポーネントがロードされる前に、数秒間白いページが表示されます。重いプロセスが終了するのを待たずにページをロードすることで、これをなんとか回避する方法はありますか?

これが私が今試していることですが、うまくいきませんでした:

    public Page1()
    {
        InitializeComponent();
    }

    private void Page_Loaded_1(object sender, RoutedEventArgs e)
    {
        // Initialize and configure kinect
        // This takes some seconds
    }

page_loadedイベントは、ページのすべてのコンポーネントの読み込みが完了した後に発生すると考えていました。しかし、それでもプロセスが終了するのを待って、最初に白いページが数秒表示されます...

4

2 に答える 2

1

BackgroundWorkersを使用して、長時間実行される操作を処理できます。これにより、タスクの実行中にUIの応答性が維持されます。詳細については、こちらをご覧ください:http: //msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

于 2012-10-02T13:34:35.950 に答える
1

BackGroundWorkerを使用して、どちらのイベントでも呼び出すことができます。
バックグラウンドでUIコントロールを構築またはロードすることはできません。
バックグラウンドでデータと(UI以外の)オブジェクトをビルドしてから、コールバックでバインドします。

BackgroundWorkerクラス

于 2012-10-02T13:34:46.183 に答える