/// <summary> /// The initial animation. /// </summary> /// <param name="frameworkElement"> The framework element. </param> private static void InitAnimation(FrameworkElement frameworkElement) { Wizard wizard = frameworkElement.FindVisualParent <Wizard>(); WizardItem wizardItem = frameworkElement.FindVisualParent <WizardItem>(); if ((wizard != null) && (wizardItem != null)) { WizardAnimation animation = (WizardAnimation)Enum.Parse( typeof(WizardAnimation), GetAnimation(frameworkElement).ToString()); BehaviorCollection behaviors = Interaction.GetBehaviors(frameworkElement); FadeBehavior fadeBehavior = null; if ((animation == WizardAnimation.Fade) || (animation == WizardAnimation.FadeAndSlide)) { fadeBehavior = behaviors.OfType <FadeBehavior>().FirstOrDefault(); if (fadeBehavior == null) { fadeBehavior = new FadeBehavior() { Duration = wizard.TransitionDuration.TimeSpan, }; behaviors.Add(fadeBehavior); } } SlideBehavior slideBehavior = null; if ((animation == WizardAnimation.Slide) || (animation == WizardAnimation.FadeAndSlide)) { slideBehavior = behaviors.OfType <SlideBehavior>().FirstOrDefault(); if (slideBehavior == null) { slideBehavior = new SlideBehavior() { Duration = wizard.TransitionDuration.TimeSpan, }; behaviors.Add(slideBehavior); } } wizardItem.Entering += (sender, e2) => { if (fadeBehavior != null) { fadeBehavior.FadeIn(); } if (slideBehavior != null) { slideBehavior.SlideIn(); } }; wizardItem.Leaving += (sender, e2) => { if (fadeBehavior != null) { fadeBehavior.FadeOut(); } if (slideBehavior != null) { slideBehavior.SlideOut(); } }; } }
// Use this for initialization void Start() { anim = GetComponentInChildren <WizardAnimation>(); }