Пример #1
0
        private void ForwardInTransition()
        {
            TransitionElement transitionElement = new TurnstileTransition {
                Mode = TurnstileTransitionMode.ForwardIn
            };
            ITransition transition = transitionElement.GetTransition((PhoneApplicationPage)(((PhoneApplicationFrame)Application.Current.RootVisual)).Content);

            transition.Completed += delegate
            {
                transition.Stop();
            };
            transition.Begin();
        }
Пример #2
0
        void radioListGropus_GroupViewOpened(object sender, GroupViewOpenedEventArgs e)
        {
            ItemContainerGenerator itemContainerGenerator = e.ItemsControl.ItemContainerGenerator;
            TurnstileTransition    turnstileTransition    = new TurnstileTransition();

            turnstileTransition.Mode = TurnstileTransitionMode.ForwardIn;

            int itemCount = e.ItemsControl.Items.Count;

            for (int i = 0; i < itemCount; i++)
            {
                UIElement   element   = itemContainerGenerator.ContainerFromIndex(i) as UIElement;
                ITransition animation = turnstileTransition.GetTransition(element);
                animation.Begin();
            }
        }
Пример #3
0
            /**
             * Applies transition to the current content and calls the given delegate in a specific moment
             * (before/after animation) in order to distingues between transition applied on the current
             * "page/screen" or the next.
             *
             * @param aDelegate a delegate invoked in different moments, depending on the transition type.
             * The delegate must be responsible for switching screens/context/adding children widgets.
             * @param transitionType a transition type.
             */
            public static void doScreenTransition(Delegate_SwitchContentDelegate aDelegate, int transitionType)
            {
                if (null != aDelegate)
                {
                    TransitionElement transition = null;
                    bool doTransitionOnCurrentScreen = false;
                    switch (transitionType)
                    {
                        case MoSync.Constants.MAW_TRANSITION_TYPE_SLIDE_RIGHT:
                             transition = new SlideTransition();
                            (transition as SlideTransition).Mode = SlideTransitionMode.SlideRightFadeIn;
                            break;
                        case MoSync.Constants.MAW_TRANSITION_TYPE_SLIDE_LEFT:
                            transition = new SlideTransition();
                            (transition as SlideTransition).Mode = SlideTransitionMode.SlideLeftFadeIn;
                            break;
                        case MoSync.Constants.MAW_TRANSITION_TYPE_SWIVEL_IN:
                            transition = new SwivelTransition();
                            (transition as SwivelTransition).Mode = SwivelTransitionMode.FullScreenIn;
                            break;
                        case MoSync.Constants.MAW_TRANSITION_TYPE_SWIVEL_OUT:
                            transition = new SwivelTransition();
                            (transition as SwivelTransition).Mode = SwivelTransitionMode.FullScreenOut;
                            doTransitionOnCurrentScreen = true;
                            break;
                        case MoSync.Constants.MAW_TRANSITION_TYPE_TURNSTILE_FOREWARD:
                            transition = new TurnstileTransition();
                            (transition as TurnstileTransition).Mode = TurnstileTransitionMode.ForwardOut;
                            doTransitionOnCurrentScreen = true;
                            break;
                        case MoSync.Constants.MAW_TRANSITION_TYPE_TURNSTILE_BACKWARD:
                            transition = new TurnstileTransition();
                            (transition as TurnstileTransition).Mode = TurnstileTransitionMode.BackwardIn;
                            break;
                        case MoSync.Constants.MAW_TRANSITION_TYPE_NONE:
                        default:
                            aDelegate();
                            return;
                    }
                    PhoneApplicationPage page = (PhoneApplicationPage)((PhoneApplicationFrame)Application.Current.RootVisual).Content;

                    ITransition transInterf = transition.GetTransition(page);
                    transInterf.Completed += delegate
                    {
                        transInterf.Stop();
                        if (doTransitionOnCurrentScreen)
                        {
                            aDelegate();
                        }
                    };
                    transInterf.Begin();
                    if (!doTransitionOnCurrentScreen)
                    {
                        aDelegate();
                    }
                }
            }
Пример #4
0
            /**
             * Applies transition to the current content and calls the given delegate in a specific moment
             * (before/after animation) in order to distingues between transition applied on the current
             * "page/screen" or the next.
             *
             * @param aDelegate a delegate invoked in different moments, depending on the transition type.
             * The delegate must be responsible for switching screens/context/adding children widgets.
             * @param transitionType a transition type.
             */
            static public void doScreenTransition(Delegate_SwitchContentDelegate aDelegate, int transitionType)
            {
                if (null != aDelegate)
                {
                    TransitionElement transition     = null;
                    bool doTransitionOnCurrentScreen = false;
                    switch (transitionType)
                    {
                    case MoSync.Constants.MAW_TRANSITION_TYPE_SLIDE_RIGHT:
                        transition = new SlideTransition();
                        (transition as SlideTransition).Mode = SlideTransitionMode.SlideRightFadeIn;
                        break;

                    case MoSync.Constants.MAW_TRANSITION_TYPE_SLIDE_LEFT:
                        transition = new SlideTransition();
                        (transition as SlideTransition).Mode = SlideTransitionMode.SlideLeftFadeIn;
                        break;

                    case MoSync.Constants.MAW_TRANSITION_TYPE_SWIVEL_IN:
                        transition = new SwivelTransition();
                        (transition as SwivelTransition).Mode = SwivelTransitionMode.FullScreenIn;
                        break;

                    case MoSync.Constants.MAW_TRANSITION_TYPE_SWIVEL_OUT:
                        transition = new SwivelTransition();
                        (transition as SwivelTransition).Mode = SwivelTransitionMode.FullScreenOut;
                        doTransitionOnCurrentScreen           = true;
                        break;

                    case MoSync.Constants.MAW_TRANSITION_TYPE_TURNSTILE_FOREWARD:
                        transition = new TurnstileTransition();
                        (transition as TurnstileTransition).Mode = TurnstileTransitionMode.ForwardOut;
                        doTransitionOnCurrentScreen = true;
                        break;

                    case MoSync.Constants.MAW_TRANSITION_TYPE_TURNSTILE_BACKWARD:
                        transition = new TurnstileTransition();
                        (transition as TurnstileTransition).Mode = TurnstileTransitionMode.BackwardIn;
                        break;

                    case MoSync.Constants.MAW_TRANSITION_TYPE_NONE:
                    default:
                        aDelegate();
                        return;
                    }
                    PhoneApplicationPage page = (PhoneApplicationPage)((PhoneApplicationFrame)Application.Current.RootVisual).Content;

                    ITransition transInterf = transition.GetTransition(page);
                    transInterf.Completed += delegate
                    {
                        transInterf.Stop();
                        if (doTransitionOnCurrentScreen)
                        {
                            aDelegate();
                        }
                    };
                    transInterf.Begin();
                    if (!doTransitionOnCurrentScreen)
                    {
                        aDelegate();
                    }
                }
            }