Пример #1
0
		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);
		}
Пример #2
0
 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
                ));
 }
Пример #3
0
        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
                })
            });
        }
Пример #4
0
		public ImageTextCell (string imageProperty, string textProperty)
			: this()
		{
			ImageBinding = new PropertyBinding(imageProperty);
			TextBinding = new PropertyBinding(textProperty);
		}
Пример #5
0
		public ImageTextCell (int imageColumn, int textColumn)
			: this()
		{
			ImageBinding = new ColumnBinding (imageColumn);
			TextBinding = new ColumnBinding (textColumn);
		}
Пример #6
0
		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);
		}
Пример #7
0
		public DualBinding Bind(IndirectBinding controlBinding, DirectBinding valueBinding, DualBindingMode mode = DualBindingMode.TwoWay)
		{
			var binding = new ObjectBinding(this, controlBinding);
			return binding.Bind(valueBinding: valueBinding, mode: mode);
		}
Пример #8
0
 public ImageTextCell(string imageProperty, string textProperty)
     : this()
 {
     ImageBinding = new PropertyBinding(imageProperty);
     TextBinding  = new PropertyBinding(textProperty);
 }
Пример #9
0
 public ImageTextCell(int imageColumn, int textColumn)
     : this()
 {
     ImageBinding = new ColumnBinding(imageColumn);
     TextBinding  = new ColumnBinding(textColumn);
 }