protected virtual void applyBindingExpression( BindingExpression be, ViewFactory factory, Dictionary<string, string> parameters) { if (parameters.ContainsKey("Converter")) be.Converter = factory.GetBindingConverter(parameters["Converter"]); if (parameters.ContainsKey("ConverterParameter")) be.ConverterParameter = parameters["ConverterParameter"]; factory.CreateBinding(be); }
protected override void applyBindingExpression( BindingExpression be, ViewFactory factory, Dictionary<string, string> parameters) { base.applyBindingExpression(be, factory, parameters); // update UpdateTarget immediately in applyMapping call be.UpdateTarget(EventArgs.Empty); }
private void TargetPropertyChanged(object sender, PropertyChangedEventArgs e) { foreach (BindingExpression be in Expressions) { if (be.Target == sender && compareProperty(e.PropertyName, be.TargetProperty.Name)) { if (_initialUpdateExpr == null) { _initialUpdateExpr = be; be.UpdateSource(e); _initialUpdateExpr = null; } else if (_initialUpdateExpr != be) { be.UpdateSource(e); } } } }
protected virtual BindingExpression createBindingExpression( EBingingMode mode, object source, PropertyInfo sourceProperty, object target, PropertyInfo targetProperty) { if (sourceProperty == null) throw new ArgumentNullException("sourceProperty"); if (targetProperty == null) throw new ArgumentNullException("targetProperty"); var be = new BindingExpression( mode, source, sourceProperty, target, targetProperty); return be; }
public virtual void CreateBinding(BindingExpression be) { _bindingEngine.Expressions.Add(be); }