/// <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); }
/// <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); }