public DualBinding Bind(IndirectBinding controlBinding, object objectValue, IndirectBinding objectBinding, DualBindingMode mode = DualBindingMode.TwoWay, object defaultControlValue = null, object defaultContextValue = null) { var valueBinding = new ObjectBinding(objectValue, objectBinding) { SettingNullValue = defaultContextValue, GettingNullValue = defaultControlValue }; return Bind(controlBinding, valueBinding, mode); }
public static IndirectBinding <T> Invoke <T>(this IndirectBinding <T> binding) { return(new DelegateBinding <object, T>( m => Application.Instance.Invoke(() => binding.GetValue(m)), (m, val) => Application.Instance.Invoke(() => binding.SetValue(m, val)), addChangeEvent: (m, ev) => binding.AddValueChangedHandler(m, ev), removeChangeEvent: binding.RemoveValueChangedHandler )); }
private Control ConstructSensitivityEditor(string header, IndirectBinding <float> dataContextBinding) { var textbox = new TextBox(); ViewModel.PropertyChanged += (sender, e) => { if (e.PropertyName == nameof(ViewModel.Settings)) { textbox.TextBinding.Convert( s => float.TryParse(s, out var v) ? v : 0, f => f.ToString()) .BindDataContext(dataContextBinding); } }; return(new GroupBox { Text = header, Padding = App.GroupBoxPadding, Content = TableLayout.Horizontal(5, new TableCell(textbox, true), new Label { Text = "mm/px", VerticalAlignment = VerticalAlignment.Center }) }); }
public ImageTextCell (string imageProperty, string textProperty) : this() { ImageBinding = new PropertyBinding(imageProperty); TextBinding = new PropertyBinding(textProperty); }
public ImageTextCell (int imageColumn, int textColumn) : this() { ImageBinding = new ColumnBinding (imageColumn); TextBinding = new ColumnBinding (textColumn); }
public DualBinding Bind(IndirectBinding controlBinding, IndirectBinding dataContextBinding, DualBindingMode mode = DualBindingMode.TwoWay, object defaultControlValue = null, object defaultContextValue = null) { var binding = new ObjectBinding(this, controlBinding); return binding.Bind(dataContextBinding, mode, defaultControlValue, defaultContextValue); }
public DualBinding Bind(IndirectBinding controlBinding, DirectBinding valueBinding, DualBindingMode mode = DualBindingMode.TwoWay) { var binding = new ObjectBinding(this, controlBinding); return binding.Bind(valueBinding: valueBinding, mode: mode); }
public ImageTextCell(string imageProperty, string textProperty) : this() { ImageBinding = new PropertyBinding(imageProperty); TextBinding = new PropertyBinding(textProperty); }
public ImageTextCell(int imageColumn, int textColumn) : this() { ImageBinding = new ColumnBinding(imageColumn); TextBinding = new ColumnBinding(textColumn); }