私は次のコードを書いています。 500msの ストーリーボードをフェードイン、一時停止、フェードアウト(コードを介して)するにはどうすればよいですか?
ためフェードアウト
- フェード:それは次のことを行いストーリーボードを作成しよう次の出力で表示します。
Additional information: Multiple animations in the same containing Storyboard cannot target the same property on a single element.
これは、すべてのアニメーションを実行しようとしているようです順番にではなくすぐにオンにします。
private Storyboard createStoryboard() { Storyboard board = new Storyboard(); addFadeToStoryboard(board, 0, 1, 500); addFadeToStoryboard(board, 1, 1, 1000); DoubleAnimation fadeOut = addFadeToStoryboard(board, 1, 0, 500); fadeOut.Completed += new EventHandler(onFadeCompleted); Storyboard.SetTarget(board, this); return board; } private DoubleAnimation addFadeToStoryboard(Storyboard board, double fadeFrom, double fadeTo, double milliseconds) { DoubleAnimation fade = new DoubleAnimation() { Duration = new Duration(TimeSpan.FromMilliseconds(milliseconds)), From = fadeFrom, To = fadeTo, RepeatBehavior = new RepeatBehavior(1) }; Storyboard.SetTargetProperty(fade, new PropertyPath(UIElement.OpacityProperty)); board.Children.Add(fade); return fade; }
どのように順次にすることができますか?私はストーリーボードの基本的な何かを誤解していますか?
おかげ
恐れることはありません。これはSLにも関連しています。 :) –
私はBeginTimeを試しましたが、同じエラーが発生しました。他のアイデア?連続したアニメーションを行う正しい方法は何ですか?完了したイベントハンドラを介してそれらを一緒にストリングし、自分のコードに状態変数を付ける必要がありますか? – swinefeaster
答えの最後に追加したリンクを見ましたか?あなたがやっていることに似ています...それは銀色です。 ;-) – IanR