Текущая реализация WPF поддерживает только анимацию PopupAnimation.Fade
для закрытия всплывающего окна.
Вы можете проверить это в исходном коде :
if (animation == PopupAnimation.Fade)
{
_popupRoot.Value.SetupFadeAnimation(AnimationDelayTime, visible);
return true;
}
else if (visible) // only translate when showing popup
{
// translate the content
_popupRoot.Value.SetupTranslateAnimations(animation, AnimationDelayTime, AnimateFromRight, AnimateFromBottom);
return true;
}
ДляPopupAnimation.Fade
, показ и закрытие анимированы.Для других типов анимации анимируется только состояние visible
(отображается).
Вы не можете изменить это поведение.Конечно, вы можете прикрепить пользовательскую анимацию к своему контенту, но всплывающее окно в любом случае будет немедленно закрыто, поэтому вы ее не увидите:
if (!animating)
_secHelper.HideWindow();
Если можете, используйте всплывающие окна вместо украшений.Там вы можете настроить анимацию так, как вам нужно.Или используйте всплывающую анимацию для всплывающих окон.