Example #1
0
        private static void OnTriggersChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            System.Windows.Interactivity.TriggerCollection triggers = System.Windows.Interactivity.Interaction.GetTriggers(d);
            foreach (System.Windows.Interactivity.TriggerBase trigger in e.NewValue as StyleTriggerCollection)
            {
                System.Windows.Interactivity.TriggerBase triggerClone = (System.Windows.Interactivity.TriggerBase)trigger.Clone();
                foreach (System.Windows.Interactivity.TriggerAction action in trigger.Actions)
                {
                    System.Windows.Interactivity.TriggerAction actionClone = (System.Windows.Interactivity.TriggerAction)action.Clone();
                    triggerClone.Actions.Add(actionClone);
                }

                triggers.Add(triggerClone);
            }
        }
Example #2
0
        /// <summary>
        /// Sets the action associated with the specified Button.
        /// </summary>
        /// <param name="button">The Button to associate the action with.</param>
        /// <param name="action">The action to associate with the button.</param>
        public static void SetAction(ButtonBase button, TriggerAction action)
        {
            if (action == null)
            {
                return;
            }

            TriggerCollection triggers = GetTriggers(button);

            foreach (Trigger trigger in triggers)
            {
                ClickTrigger clickTrigger = trigger as ClickTrigger;
                clickTrigger.Action = action;
            }

            ClickTrigger newTrigger = new ClickTrigger();

            newTrigger.Action = action;

            triggers.Add(newTrigger);
        }
Example #3
0
        /// <summary>
        /// Sets the action associated with the specified Button.
        /// </summary>
        /// <param name="button">The Button to associate the action with.</param>
        /// <param name="action">The action to associate with the button.</param>
        public static void SetAction(ButtonBase button, TriggerAction action)
        {
            if (action == null) {
                return;
            }

            TriggerCollection triggers = GetTriggers(button);

            foreach (Trigger trigger in triggers) {
                ClickTrigger clickTrigger = trigger as ClickTrigger;
                clickTrigger.Action = action;
            }

            ClickTrigger newTrigger = new ClickTrigger();
            newTrigger.Action = action;

            triggers.Add(newTrigger);
        }