0

私の問題は次のとおりです。

パネルが消えるまでスライドさせるアニメーションがあります (margin プロパティをアニメーション化します)。アニメーションが終了したらすぐに、パネルを最初の場所に戻したいです。そこで、autoreverse プロパティを true に設定すると、アニメーションの長さが自動的に 2 倍になり、すべてが正常に実行されます。問題は、プログラムに基本的なものがまだ欠けていることです。アニメーションが途中で実行されたとき、つまりパネルが消えたときに、パネルのコンテンツの UI を変更するメソッドを呼び出して、何らかの処理を行う必要があります。それで、これを行う方法はありますか?

ありがとう

4

1 に答える 1

0

@deafjeff が示唆するように、オートリバースを使用する代わりに 2 つのアニメーションを作成できます。Completed最初のアニメーションのイベントのハンドラーを登録します。UI の変更を行い、ハンドラ コードで 2 番目のアニメーションを開始します。コードは以下のようなものです:

private void onFirstAnimationCompleted(object sender, EventArgs e)
{
  DoUIChange();
  SecondAnimation.Start();
} 
于 2013-07-09T10:03:15.777 に答える