1

次のコードがあります。

MediaPlayer.MoveNext();

 SlideTransition slideTransition = new SlideTransition { Mode = SlideTransitionMode.SlideRightFadeOut };
 ITransition transition = slideTransition.GetTransition(textBlockSong);
 transition.Completed += delegate { transition.Stop(); };
 transition.Begin();

 //would like a pause here.       

 SlideTransition slideTransition2 = new SlideTransition { Mode = SlideTransitionMode.SlideRightFadeIn };
 ITransition transition2 = slideTransition2.GetTransition(textBlockSong);
 transition2.Completed += delegate { transition2.Stop(); };
 transition2.Begin();

ただし、最初のトランジションは、2 番目の部分がすぐに開始されるため、実行する機会がありません。では、2 つの遷移の間に一時停止/遅延を追加するにはどうすればよいでしょうか。これは、アプリを完全に停止するのではなく (のようにThread.Sleep())、進行中のコードが呼び出されるまで待機するだけです。

4

2 に答える 2

1

私はまだそれほど慣れていませんが、トランジションをストーリーボードに入れてみることはできます。ストーリーボードには完了イベントがあります。

編集:

これはどうですか?

SlideTransition slideTransition = new SlideTransition { Mode = SlideTransitionMode.SlideRightFadeOut };
ITransition transition = slideTransition.GetTransition(textBlockSong);
transition.Completed += delegate 
{ 
    transition.Stop(); 

    SlideTransition slideTransition2 = new SlideTransition { Mode = SlideTransitionMode.SlideRightFadeIn };
    ITransition transition2 = slideTransition2.GetTransition(textBlockSong);
    transition2.Completed += delegate { transition2.Stop(); };
    transition2.Begin();

};
transition.Begin();     
于 2013-08-10T23:05:31.473 に答える
0

指定されたミリ秒数の間、現在のスレッドをブロックします

于 2013-08-13T16:05:56.183 に答える