Пример #1
0
        // Clean up after the transition is complete
        internal void OnTransitionCompleted()
        {
            _children.Clear();
              _children.Add(_currentHost);
              _currentHost.Visibility = Visibility.Visible;
              _previousHost.Visibility = Visibility.Visible;
              ((ContentPresenter)_previousHost.Child).Content = null;

              IsTransitioning = false;
              _activeTransition = null;
              CoerceValue(TransitionProperty);
              CoerceValue(ClipToBoundsProperty);
              CoerceValue(ContentProperty);
        }
Пример #2
0
        private void BeginTransition()
        {
            TransitionSelector selector = TransitionSelector;

              Transition transition = selector != null ?
              selector.SelectTransition(CurrentContentPresenter.Content, Content) :
              Transition;

              if (transition != null) {
            // Swap content presenters
            AdornerDecorator temp = _previousHost;
            _previousHost = _currentHost;
            _currentHost = temp;
              }

              ContentPresenter currentContent = CurrentContentPresenter;
              // Set the current content
              currentContent.Content = Content;
              currentContent.ContentTemplate = ContentTemplate;
              currentContent.ContentTemplateSelector = ContentTemplateSelector;

              if (transition != null) {
            ContentPresenter previousContent = PreviousContentPresenter;

            if (transition.IsNewContentTopmost)
              Children.Add(_currentHost);
            else
              Children.Insert(0, _currentHost);

            IsTransitioning = true;
            _activeTransition = transition;
            CoerceValue(TransitionProperty);
            CoerceValue(ClipToBoundsProperty);
            transition.BeginTransition(this, previousContent, currentContent);
              }
        }
 public ListTransitionSelector(Transition forward, Transition backward, IList list)
 {
     _forward = forward;
     _backward = backward;
     _list = list;
 }