public Task <IValueProvider> BindAsync(object value, ValueBindingContext context) { IAttributeBindingSource binding = value as IAttributeBindingSource; if (binding == null) { throw new InvalidOperationException("Unable to convert value to IAttributeBindingSource."); } return(BindAsync(binding, context)); }
/// <summary> /// Constructs a new instance. /// </summary> /// <param name="bindingSource">The binding source.</param> internal Binder(IAttributeBindingSource bindingSource) { _bindingSource = bindingSource; // take a snapshot of the binding data // any additional binding data added will be applied // on bind _bindingData = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase); if (bindingSource.AmbientBindingContext.BindingData != null) { foreach (var pair in bindingSource.AmbientBindingContext.BindingData) { _bindingData[pair.Key] = pair.Value; } } }
private Task <IValueProvider> BindAsync(IAttributeBindingSource binding, ValueBindingContext context) { IValueProvider provider = new RuntimeValueProvider(binding, _parameter.ParameterType); return(Task.FromResult(provider)); }
private Task<IValueProvider> BindAsync(IAttributeBindingSource binding, ValueBindingContext context) { IValueProvider provider = new RuntimeValueProvider(binding, _parameter.ParameterType); return Task.FromResult(provider); }
public RuntimeValueProvider(IAttributeBindingSource bindingSource) { _bindingSource = bindingSource; }
public RuntimeValueProvider(IAttributeBindingSource bindingSource, Type parameterType) { _binder = new Binder(bindingSource); _parameterType = parameterType; }