Как предотвратить изменение содержимого в ContentControl для поддержки анимации

Я пишу это приложение, в котором я хочу изменить содержимое в элементе управления содержимым с помощью некоторой анимации, которая удаляет старый контент и вводит новый контент, но проблема в том, что событие OnContentChanged, когда я переопределяю его, обычно изменяет содержимое.

Есть ли способ приостановить базовый класс Content Control от изменения содержимого, чтобы я мог воспроизводить свою анимацию?

вот мой код:

 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 — это мой базовый настраиваемый элемент управления, в котором определены события анимации.


person mohamed fadhl    schedule 17.03.2015    source источник
comment
Покажите нам код, что вы уже пробовали.   -  person Ayyappan Subramanian    schedule 17.03.2015


Ответы (1)


Вы можете запустить анимацию при обработке события.
Что-то вроде:

OnContentChangeEvent()
{
            functionAnimationLauncher();
}

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

Может быть, немного больше объяснений поможет мне понять.
Надеюсь, это поможет!

person Gino    schedule 03.04.2015