私はWPFを使用してアプリケーションを構築していますが、私は2つのアニメーションを持っています。 私はウィンドウの読み込みが終了したかどうかを確認する方法?
MainWindow_Loaded(object sender, RoutedEventArgs e)
イベントのものにしようとすると、 それだけで遅延読み込みながら、私は第一アニメーションを欠場。
助けてくださいか?
私はWPFを使用してアプリケーションを構築していますが、私は2つのアニメーションを持っています。 私はウィンドウの読み込みが終了したかどうかを確認する方法?
MainWindow_Loaded(object sender, RoutedEventArgs e)
イベントのものにしようとすると、 それだけで遅延読み込みながら、私は第一アニメーションを欠場。
助けてくださいか?
ロード(バインディングレンダリング)が完了したことを知らせるビルトイン通知はありません。だからあなた自身の解決策を考え出すべきです。
new Thread(new ThreadStart(new Action(() =>
{
Sleep(2000); // a couple of seconds sleep
StartAnimation();
}))).Start();
・ホープ、このことができます:
一つは、このようなMainWindow_Loaded
書き込み何か(擬似コード)である可能性があります。
コードはうまくいきませんが、スレッドについてのことはよく分かりませんが、確かに質問に答えてくれてありがとうございます。 –
Dispatcherオブジェクトを使用してアニメーションでコードを呼び出すことをお勧めします。ディスパッチャ優先度を設定することにより、たとえばすべてのデータバインディング(非同期でも)が完了するまで、実行を延期できます。
// Schedule the update function in the UI thread.
Dispatcher.BeginInvoke(
System.Windows.Threading.DispatcherPriority.Loaded, ...);
これが機能しない場合、優先度を変更しようとします。優先度を下げると、後でアクションが呼び出されます。
Window.ContentRendered(またはMe.ContentRendered)を使用して、ウィンドウの読み込みが完了したことを確認して成功しました。
エリック、あなたはアニメーションが[開始時間](http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.begintime.aspxを持っていることを見てきました)プロパティ?アニメーションの開始の遅れに役立つかもしれません。 – Clemens
いいえ、私はいません。ありがとう! –
[この回答](http://stackoverflow.com/a/8886941/187955)を見てください。 –