示例#1
0
        /// <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();
                    }
                };
            }
        }
示例#2
0
 // Use this for initialization
 void Start()
 {
     anim = GetComponentInChildren <WizardAnimation>();
 }