0

古いコンテンツを移動して新しいコンテンツを取り込むアニメーションを使用して、コンテンツ コントロールのコンテンツを変更したいこのアプリケーションを作成していますが、問題は、オーバーライドすると通常コンテンツが変更される OnContentChanged イベントです。

アニメーションを再生できるように、基本コンテンツ コントロール クラスがコンテンツを変更するのを一時停止する方法はありますか?

ここに私のコードがあります:

 protected override void OnContentChanged(object oldContent, object newContent)
    {

        _oldUserControl = oldContent as SlidingBase;
        _oldUserControl.RaiseEvent(new RoutedEventArgs(SlidingBase.ExitAnimationEvent));

        _newUserControl= newContent as SlidingBase;
        _oldUserControl.RaiseEvent(new RoutedEventArgs(SlidingBase.EntryAnimationEvent));

        base.OnContentChanged(oldContent, oldContent);

    }

ここで、Sliding Base は、アニメーション イベントが定義されているベース カスタム コントロールです。

4

1 に答える 1

0

イベントを処理するときにアニメーションを起動できます。
何かのようなもの:

OnContentChangeEvent()
{
            functionAnimationLauncher();
}

private void functionAnimation()
{
            // you fancy animation goes here
}

たぶん、もう少し説明を加えると、理解するのに役立つかもしれません。
それが役に立てば幸い!

于 2015-04-03T13:28:53.080 に答える