public void PageEnter() { SkillListBox.ItemsSource = App.SkillList; SkillTargetConverter.AddSkillTarget += AddSkillTarget_Click; SkillProbability.Init(6, true); ContentViewer.Visibility = Visibility.Hidden; DoubleAnimation OpacityAnimation = new DoubleAnimation() { From = 0, To = 1, Duration = TimeSpan.FromSeconds(0.75), EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseOut } }; ThicknessAnimation MarginAnimation = new ThicknessAnimation() { From = new Thickness( TitleGrid.Margin.Left - 50, TitleGrid.Margin.Top, TitleGrid.Margin.Right + 50, TitleGrid.Margin.Bottom), To = TitleGrid.Margin, Duration = TimeSpan.FromSeconds(0.75), EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseOut } }; MarginAnimation.Completed += delegate { SkillListGrid.BeginAnimation(MarginProperty, new ThicknessAnimation() { From = SkillListGrid.Margin, To = new Thickness(0, 100, 0, 0), Duration = TimeSpan.FromSeconds(0.3), EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseOut } }); }; TitleGrid.BeginAnimation(OpacityProperty, OpacityAnimation); TitleGrid.BeginAnimation(MarginProperty, MarginAnimation); }
public void PageLeave() { if (ContentViewer.Visibility == Visibility.Visible) { ContentViewer.BeginAnimation(OpacityProperty, new DoubleAnimation() { From = 1, To = 0, Duration = TimeSpan.FromSeconds(0.3), EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseIn } }); } var SkillListMarginAnimation = new ThicknessAnimation() { From = SkillListGrid.Margin, To = new Thickness(-300, 100, 0, 0), Duration = TimeSpan.FromSeconds(0.3), EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseIn } }; SkillListMarginAnimation.Completed += delegate { DispatcherTimer Timer = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(0.75) }; Timer.Tick += delegate { LeaveAction?.Invoke(); Timer.Stop(); }; TitleGrid.BeginAnimation(OpacityProperty, new DoubleAnimation() { From = 1, To = 0, Duration = TimeSpan.FromSeconds(0.75), EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseIn } }); TitleGrid.BeginAnimation(MarginProperty, new ThicknessAnimation() { From = TitleGrid.Margin, To = new Thickness( TitleGrid.Margin.Left + 50, TitleGrid.Margin.Top, TitleGrid.Margin.Right - 50, TitleGrid.Margin.Bottom), Duration = TimeSpan.FromSeconds(0.75), EasingFunction = new ExponentialEase() { EasingMode = EasingMode.EaseIn } }); Timer.Start(); }; SkillListGrid.BeginAnimation(MarginProperty, SkillListMarginAnimation); }