/// <summary> /// Creates a binding on a <see cref="Parameter" />. /// </summary> /// <param name="target">The target to which the message is applied.</param> /// <param name="parameter">The parameter object.</param> /// <param name="control">The actual control to bind to.</param> /// <param name="propertyName">The name of the property to bind to.</param> /// <param name="bindingMode">The binding mode to use.</param> public static void BindParameter(FrameworkElement target, Parameter parameter, FrameworkElement control, string propertyName, BindingMode bindingMode) { if (string.IsNullOrEmpty(propertyName)) { propertyName = ConventionManager.GetElementConvention(control.GetType()).ParameterProperty; } if (!string.IsNullOrEmpty(propertyName)) { var binding = new Binding() { SourceObject = control, SourcePath = propertyName, TargetObject = parameter, TargetPath = "Value", Mode = bindingMode }; parameter.BindingManager.Bindings.Add(binding); } }
/// <summary> /// Creates a binding on a <see cref="Parameter" />. /// </summary> /// <param name="target">The target to which the message is applied.</param> /// <param name="parameter">The parameter object.</param> /// <param name="controlName">The name of the control to bind to.</param> /// <param name="propertyName">The name of the property to bind to.</param> /// <param name="bindingMode">The binding mode to use.</param> public static void BindParameter(FrameworkElement target, Parameter parameter, string controlName, string propertyName, BindingMode bindingMode) { var control = _namedElements.FindName(controlName); if (control == null) return; BindParameter(target, parameter, control, propertyName, bindingMode); }