public BitViewModel(BITOptionWrapper options, int bitIndex) { if (options == null) { throw new ArgumentNullException(nameof(options)); } _options = options; _bitIndex = bitIndex; }
internal BitFieldOptionsViewModel(BITOptionWrapper options) { _options = options; OkCommand = new RelayCommand(Ok, CanOk); CancelCommand = new RelayCommand(Cancel); var bitIndexRange = Enumerable.Range(0, options.NumberOfBits); _bitNameViewModels = bitIndexRange .Select(bitIndex => new BitViewModel(options, bitIndex)) .ToArray(); }
public sealed override FieldOptionModel[] EditOptions(FieldOptionModel[] options) { var optionsWrapper = new BITOptionWrapper(options, _numberOfBits); var viewModel = new BitFieldOptionsViewModel(optionsWrapper); var view = new BITFieldOptionsView() { DataContext = viewModel }; if (view.ShowDialog() == true) { return(optionsWrapper.GetOptions()); } return(null); }
protected BITRuntimeFieldBase(FieldModel fieldModel, int numberOfBits) : base(fieldModel) { var optionWrapper = new BITOptionWrapper(fieldModel.Options, numberOfBits); string[] names = optionWrapper.GetNames(); //Create tuples that contain the display name var tuples = names .Select(n => new Tuple <string, RuntimeFieldEditor <CheckBox> >( n, new RuntimeFieldEditor <CheckBox>(fieldModel.Name + " - " + n, new CheckBox()))) .ToArray(); _allFieldEditors = tuples .Select(t => t.Item2) .ToArray(); _displayedFieldEditors = tuples .Where(t => !string.IsNullOrWhiteSpace(t.Item1)) .Select(t => t.Item2) .ToArray(); }