Beispiel #1
0
        /// <summary>
        /// Change handler for the event name
        /// </summary>
        /// <param name="dpo">VMTrigger object</param>
        /// <param name="e">EventArgs</param>
        private static void OnTargetChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs e)
        {
            ViewModelTrigger vmt = (ViewModelTrigger)dpo;

            object oldTarget = e.OldValue;

            if (oldTarget != null)
            {
                vmt.Unregister(oldTarget, vmt.EventName);
            }
            vmt.Register(vmt.Target, vmt.EventName);
        }
Beispiel #2
0
        /// <summary>
        /// Change handler for the event name
        /// </summary>
        /// <param name="dpo">VMTrigger object</param>
        /// <param name="e">EventArgs</param>
        private static void OnEventNameChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs e)
        {
            ViewModelTrigger vmt = (ViewModelTrigger)dpo;

            string oldEventName = e.OldValue as string;

            if (!string.IsNullOrEmpty(oldEventName))
            {
                vmt.Unregister(vmt.Target, oldEventName);
            }
            vmt.Register(vmt.Target, vmt.EventName);
        }
        /// <summary>
        /// Change handler for IViewModelTrigger.
        /// </summary>
        /// <param name="dpo">VMTrigger object</param>
        /// <param name="e">EventArgs</param>
        private static void OnTriggerChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs e)
        {
            ViewModelTrigger vmt = (ViewModelTrigger)dpo;

            IViewModelTrigger ivm = e.OldValue as IViewModelTrigger;

            if (ivm != null)
            {
                ivm.Execute -= vmt.TriggerRaised;
            }
            ivm = e.NewValue as IViewModelTrigger;
            if (ivm != null)
            {
                ivm.Execute += vmt.TriggerRaised;
            }
        }
        /// <summary>
        /// Change handler for the event name
        /// </summary>
        /// <param name="dpo">VMTrigger object</param>
        /// <param name="e">EventArgs</param>
        private static void OnTargetChanged(DependencyObject dpo, DependencyPropertyChangedEventArgs e)
        {
            ViewModelTrigger vmt = (ViewModelTrigger)dpo;

            if (string.IsNullOrEmpty(vmt.EventName))
            {
                return;
            }

            object oldTarget = e.OldValue;

            if (oldTarget != null)
            {
                vmt.UnregisterEvent(oldTarget, vmt.EventName);
            }
            vmt.RegisterEvent(vmt.Target, vmt.EventName);
        }