public void WhenDisposingTheExpression_ThenTargetObjectEventIsNull() { this.SetUp(); var binding = new Binding("Property1"); var expression = new EventTriggeredBindingExpression<EventTargetObject, EventArgs>(this.Target, "PropertyA", "PropertyChanged", this.Source, binding); expression.Bind(); expression.Dispose(); Assert.AreEqual(this.Target.HasEventHandler, false); }
public void WhenBindingWithAnEvent_ThenTheSourcePropertyIsUpdated() { this.SetUp(); var binding = new Binding("Property1"); var expression = new EventTriggeredBindingExpression<EventTargetObject, EventArgs>(this.Target, "PropertyA", "PropertyChanged", this.Source, binding); expression.Bind(); this.Target.PropertyA = Guid.NewGuid().ToString(); Assert.AreEqual(this.Target.PropertyA, this.Source.Property1); }
public static IBindingExpression AddEventTriggeredBinding(this IBindingScope scope, object target, string targetPropertyName, string eventName, object source, string sourcePropertyName) { var expression = new EventTriggeredBindingExpression(target, targetPropertyName, eventName, source, new Binding(sourcePropertyName)); scope.Add(expression); return expression; }