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(); }
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(); } }
/** * 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(); } } }
/** * 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(); } } }