protected override FrameworkElement ModifyNewContent(ITransitionControl container, FrameworkElement newContent) { if (newContent == null) { HideBackground(container); container.Remove(_border); return null; } ShowBackground(container); _border = WrapInBorder(newContent); _border.Opacity = 0; SetPosition(_border); newContent.SizeChanged += (sender, e) => SetPosition(_border); var ctrl = container.AsControl(); ctrl.SizeChanged += (sender, e) => SetPosition(_border); return _border; }
protected override FrameworkElement ModifyNewContent(ITransitionControl container, FrameworkElement newContent) { var ctrl = container.AsControl(); _leftStart = GetLeftStart(ctrl); _width = ctrl.ActualWidth; Canvas.SetLeft(newContent, _leftStart - _width); return newContent; }
public void Transition(ITransitionControl container, FrameworkElement oldContent, FrameworkElement newContent) { FrameworkElement newContentToAdd = ModifyNewContent(container, newContent); container.Add(newContentToAdd); if (oldContent != null) { GetOutAnimation() .UponCompletion(() => container.Remove(oldContent)) .AnimateOn(oldContent); } if (newContentToAdd != null) { GetInAnimation() .AnimateOn(newContentToAdd); } }
void HideBackground(ITransitionControl container) { if (container.Contains(_background)) { Animate.The(UIElement.OpacityProperty) .From(1d) .To(0d) .For(_duration) .UponCompletion(() => container.Remove(_background)) .Create() .AnimateOn(_background); } }
void ShowBackground(ITransitionControl container) { if (!container.Contains(_background)) { container.Add(_background); Animate.The(UIElement.OpacityProperty) .From(0d) .To(1d) .For(_duration) .Create() .AnimateOn(_background); } }
protected override FrameworkElement ModifyNewContent(ITransitionControl container, FrameworkElement newContent) { newContent.Opacity = 0; return newContent; }
protected virtual FrameworkElement ModifyNewContent(ITransitionControl container, FrameworkElement newContent) { return newContent; }