Пример #1
0
            private void SetActionTriggers()
            {
                var width = _slidingPage.ActualWidth;


                EnterActions.Clear();
                ExitActions.Clear();

                var enterStoryboard = new Storyboard();

                var enterMarginAnimation = new ThicknessAnimation(new Thickness(width, 0, -width, 0), new Thickness(0), new Duration(TimeSpan.FromSeconds(.75)))
                {
                    DecelerationRatio = .9
                };

                enterMarginAnimation.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("(FrameworkElement.Margin)"));
                enterStoryboard.Children.Add(enterMarginAnimation);

                var enterOpacityAnimation = new DoubleAnimation(0, 1, new Duration(TimeSpan.FromSeconds(.25)));

                enterOpacityAnimation.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("(UIElement.Opacity)"));
                enterStoryboard.Children.Add(enterOpacityAnimation);

                var enterVisibilityAnimation = new EnterVisibilityAnimation();

                enterStoryboard.Children.Add(enterVisibilityAnimation);

                EnterActions.Add(new BeginStoryboard {
                    Storyboard = enterStoryboard
                });


                var exitStoryboard = new Storyboard();

                var exitMarginAnimation = new ThicknessAnimation(new Thickness(-width, 0, width, 0), new Duration(TimeSpan.FromSeconds(.5)))
                {
                    AccelerationRatio = .9
                };

                exitMarginAnimation.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("(FrameworkElement.Margin)"));
                exitStoryboard.Children.Add(exitMarginAnimation);

                var exitOpacityAnimation = new DoubleAnimation(0, new Duration(TimeSpan.FromSeconds(.5)));

                exitOpacityAnimation.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("(UIElement.Opacity)"));
                exitStoryboard.Children.Add(exitOpacityAnimation);

                var exitVisibilityAnimation = new ExitVisibilityAnimation();

                exitStoryboard.Children.Add(exitVisibilityAnimation);

                ExitActions.Add(new BeginStoryboard {
                    Storyboard = exitStoryboard
                });
            }
Пример #2
0
        public void DeleteAction(Guid outputId)
        {
            if (EntryActions != null && EntryActions.Contains(outputId))
            {
                var actions = new List <Guid>(EntryActions.Where(x => x != outputId));
                EntryActions = actions.ToArray();
            }

            if (ExitActions != null && ExitActions.Contains(outputId))
            {
                var actions = new List <Guid>(ExitActions.Where(x => x != outputId));
                ExitActions = actions.ToArray();
            }
        }
Пример #3
0
        public override void DeepCopy(IDeepCopyable source, ICopyManager copyManager)
        {
            base.DeepCopy(source, copyManager);
            TriggerBase tb = (TriggerBase)source;

            foreach (TriggerAction ac in tb.EnterActions)
            {
                EnterActions.Add(copyManager.GetCopy(ac));
            }
            foreach (TriggerAction ac in tb.ExitActions)
            {
                ExitActions.Add(copyManager.GetCopy(ac));
            }
            foreach (Setter s in tb.Setters)
            {
                Setters.Add(copyManager.GetCopy(s));
            }
        }
Пример #4
0
 public void AddExitAction(Action <Transition> action, Reflection.InvocationInfo exitActionDescription)
 {
     ExitActions.Add(new ExitActionBehavior.Sync(action, exitActionDescription));
 }
Пример #5
0
 public void AddExitAction(Func <Transition, Task> action, Reflection.InvocationInfo exitActionDescription)
 {
     ExitActions.Add(new ExitActionBehavior.Async(action, exitActionDescription));
 }
 public static void ExitActionsAddRaiseAction(ExitActions entryActions, RaiseAction raiseAction)
 => entryActions.AddAction(raiseAction);
 public static void ExitActionsAddAssignAction(ExitActions entryActions, AssignAction assignAction)
 => entryActions.AddAction(assignAction);
 public static void ExitActionsAddLogAction(ExitActions exitActions, LogAction logAction)
 => exitActions.AddAction(logAction);
 public static void StateNodeSetExitActions(PartialStateNode stateNode, ExitActions exitActions)
 => stateNode.ExitActions = exitActions.Actions;