/// <summary> /// Creates the FieldViewModel responsible for rendering this column and binds it to the provided row. /// </summary> protected override FieldViewModelBase CreateFieldViewModel(GridRowViewModel row) { var viewModel = new ReadOnlyTextFieldViewModel(Header); viewModel.IsRightAligned = IsRightAligned; viewModel.SetBinding(ReadOnlyTextFieldViewModel.TextProperty, new ModelBinding(row, SourceProperty, ModelBindingMode.OneWay, _converter)); return(viewModel); }
/// <summary> /// Creates the FieldViewModel responsible for rendering this column and binds it to the provided row. /// </summary> protected override FieldViewModelBase CreateFieldViewModel(GridRowViewModel row) { if (IsReadOnly) { var textViewModel = new ReadOnlyTextFieldViewModel(Header); textViewModel.IsRightAligned = true; textViewModel.SetBinding(ReadOnlyTextFieldViewModel.TextProperty, new ModelBinding(row, SourceProperty, ModelBindingMode.OneWay, _integerConverter)); return(textViewModel); } var viewModel = new IntegerFieldViewModel(Header, _metadata); viewModel.BindValue(row, SourceProperty, ModelBindingMode.TwoWay); return(viewModel); }
/// <summary> /// Creates the FieldViewModel responsible for rendering this column and binds it to the provided row. /// </summary> protected override FieldViewModelBase CreateFieldViewModel(GridRowViewModel row) { if (IsReadOnly) { var textViewModel = new ReadOnlyTextFieldViewModel(Header); textViewModel.SetBinding(ReadOnlyTextFieldViewModel.TextProperty, new ModelBinding(row, SourceProperty, ModelBindingMode.OneWay, new DelegateConverter(id => _lookupLabelFunction((int)id), null))); return(textViewModel); } var viewModel = new AutoCompleteFieldViewModel(Header, _metadata, _searchFunction, _lookupLabelFunction); viewModel.IsDisplayTextDifferentFromSearchText = IsDisplayTextDifferentFromSearchText; // bind the property through to the data model row.SetBinding(_stringProperty, new ModelBinding(row.Model, _stringProperty)); // bind text first so selection binding will cause it to be updated viewModel.SetBinding(AutoCompleteFieldViewModel.TextProperty, new ModelBinding(row, _stringProperty, ModelBindingMode.TwoWay)); viewModel.BindSelection(row, SourceProperty, ModelBindingMode.TwoWay); return(viewModel); }
/// <summary> /// Creates the FieldViewModel responsible for rendering this column and binds it to the provided row. /// </summary> protected override FieldViewModelBase CreateFieldViewModel(GridRowViewModel row) { if (IsReadOnly) { var textViewModel = new ReadOnlyTextFieldViewModel(Header); textViewModel.IsRightAligned = true; textViewModel.SetBinding(ReadOnlyTextFieldViewModel.TextProperty, new ModelBinding(row, SourceProperty, ModelBindingMode.OneWay, _dateConverter)); return(textViewModel); } var viewModel = new DateFieldViewModel(Header, _metadata); if (SourceProperty.PropertyType == typeof(Date)) { viewModel.BindDate(row, SourceProperty, ModelBindingMode.TwoWay); } else { viewModel.SetBinding(DateFieldViewModel.DateTimeProperty, new ModelBinding(row, SourceProperty, ModelBindingMode.TwoWay)); } return(viewModel); }