private void OnTransitionChanged(TransitioningContentControl source, AvaloniaPropertyChangedEventArgs e) { var oldTransition = (TransitionType)e.OldValue; var newTransition = (TransitionType)e.NewValue; if (source.IsTransitioning) { source.AbortTransition(); } //// find new transition //Storyboard newStoryboard = source.GetStoryboard(newTransition); //// unable to find the transition. //if (newStoryboard == null) //{ // // could be during initialization of xaml that presentationgroups was not yet defined // if (VisualStates.TryGetVisualStateGroup(source, PresentationGroup) == null) // { // // will delay check // source.CurrentTransition = null; // } // else // { // // revert to old value // source.SetValue(TransitionProperty, oldTransition); // throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, "Temporary removed exception message", newTransition)); // } //} //else //{ // source.CurrentTransition = newStoryboard; //} }
private void OnIsTransitioningPropertyChanged(TransitioningContentControl o, AvaloniaPropertyChangedEventArgs e) { if (!o.allowIsTransitioningPropertyWrite) { o.IsTransitioning = (bool)e.OldValue; throw new InvalidOperationException(); } }
private void OnRestartTransitionOnContentChangePropertyChanged(TransitioningContentControl o, AvaloniaPropertyChangedEventArgs e) { o.OnRestartTransitionOnContentChangeChanged((bool)e.OldValue, (bool)e.NewValue); }
private void OnContentChangeChanged(TransitioningContentControl o, AvaloniaPropertyChangedEventArgs e) { StartTransition(e.OldValue, e.NewValue); }