public override object SetCustomValue(object target, object value) { if (ElementName != null) { target = ((System.Windows.FrameworkElement)target).FindName(ElementName); } if (target == null) { return(null); } var eventInfo = target.GetType().GetEvent(EventName); if (eventInfo != null) { TriggerExtensions.RemoveEvent(target, eventInfo, this); } return(null); }
private void SetCommandParameter() { object parameterValue = EventSetterInfo.GetValue(EventSetterInfo.CommandParameterProperty); if (parameterValue == null) { System.Windows.Data.Binding binding = System.Windows.Data.BindingOperations.GetBinding(EventSetterInfo, EventSetterInfo.CommandParameterProperty); if (binding != null) { if (binding.Path == null) { parameterValue = ((System.Windows.FrameworkElement)Target).DataContext; } else { parameterValue = TriggerExtensions.GetValueBinding(binding, ((System.Windows.FrameworkElement)Target)); } } } CommandParameter = parameterValue; }