private UserControl constructNameValueControl(FieldDataSelectionBuilder.SearchSpecification.RestrictionSpecification restriction) { var nvControl = new NameValueControl(); var titleBinding = new Binding(PropertyHelper.ExtractPropertyName(() => restriction.TitleID)) { Source = restriction, Converter = this.LanguageStringFromIDConverter, Mode = BindingMode.OneWay }; nvControl.SetBinding(NameValueControl.TitleProperty, titleBinding); var valueBinding = new Binding(PropertyHelper.ExtractPropertyName(() => restriction.Value)) { Source = restriction, Mode = BindingMode.OneWayToSource, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }; nvControl.SetBinding(NameValueControl.ValueProperty, valueBinding); var checkedBinding = new Binding(PropertyHelper.ExtractPropertyName(() => restriction.IsEnabled)) { Mode = BindingMode.OneWayToSource, Source = restriction, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }; nvControl.SetBinding(NameValueControl.IsCheckedProperty, checkedBinding); return(nvControl); }
private UserControl constructNameValueControl(FieldDataSelectionBuilder.SearchSpecification.RestrictionSpecification restriction) { var nvControl = new NameValueControl(); var titleBinding = new Binding(PropertyHelper.ExtractPropertyName(() => restriction.TitleID)) { Source = restriction, Converter = this.LanguageStringFromIDConverter, Mode = BindingMode.OneWay }; nvControl.SetBinding(NameValueControl.TitleProperty, titleBinding); var valueBinding = new Binding(PropertyHelper.ExtractPropertyName(() => restriction.Value)) { Source = restriction, Mode = BindingMode.OneWayToSource, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }; nvControl.SetBinding(NameValueControl.ValueProperty, valueBinding); var checkedBinding = new Binding(PropertyHelper.ExtractPropertyName(() => restriction.IsEnabled)) { Mode = BindingMode.OneWayToSource, Source = restriction, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }; nvControl.SetBinding(NameValueControl.IsCheckedProperty, checkedBinding); return nvControl; }