protected override void SetModel(object value) { if (value is ISubJournalParameter) { foreach (int bitNum in (value as ISubJournalParameter).BitNumbersInWord) { ISharedBitViewModel sharedBit = this.BitNumbersInWord.First(model => model.NumberOfBit == bitNum); if (sharedBit.Value) { sharedBit.Refresh(); } this.BitNumbersInWord.First((viewModel => viewModel.NumberOfBit == bitNum)).ChangeValueByOwnerCommand?.Execute(this); } } base.SetModel(value); }
public ComplexPropertyEditorViewModel(ITypesContainer container, IRangeViewModel rangeViewModel, ILocalizerService localizerService, IApplicationGlobalCommands applicationGlobalCommands, Func <ISharedBitViewModel> sharedBitViewModelGettingFunc) : base(container, rangeViewModel, localizerService) { _applicationGlobalCommands = applicationGlobalCommands; _sharedBitViewModelGettingFunc = sharedBitViewModelGettingFunc; SubPropertyEditorViewModels = new ObservableCollection <ISubPropertyEditorViewModel>(); SubmitCommand = new RelayCommand <object>(OnSubmit); CancelCommand = new RelayCommand <object>(OnCancel); MainBitNumbersInWordCollection = new ObservableCollection <ISharedBitViewModel>(); for (int i = 15; i >= 0; i--) { ISharedBitViewModel sharedBitViewModel = sharedBitViewModelGettingFunc(); sharedBitViewModel.NumberOfBit = i; MainBitNumbersInWordCollection.Add(sharedBitViewModel); } }
public ComplexJournalParameterEditorViewModel(IComplexJournalParameter journalParameter, IJournalParametersEditorViewModelFactory journalParametersEditorViewModelFactory, IApplicationGlobalCommands applicationGlobalCommands, Func <ISharedBitViewModel> sharedBitViewModelGettingFunc) : base(journalParameter) { this._journalParametersEditorViewModelFactory = journalParametersEditorViewModelFactory; this._applicationGlobalCommands = applicationGlobalCommands; this.SubJournalParameterEditorViewModels = new ObservableCollection <ISubJournalParameterEditorViewModel>(); this.AddSubParameterCommand = new RelayCommand(this.OnAddSubParameterExecute); this.SubmitCommand = new RelayCommand <object>(this.OnSubmit); this.CancelCommand = new RelayCommand <object>(this.OnCancel); this.DeleteParameterCommand = new RelayCommand(this.OnDeleteParameterExecute, this.CanExecuteDeleteParameter); this.MainBitNumbersInWordCollection = new ObservableCollection <ISharedBitViewModel>(); for (int i = 0; i < 16; i++) { ISharedBitViewModel sharedBitViewModel = sharedBitViewModelGettingFunc(); sharedBitViewModel.NumberOfBit = i; this.MainBitNumbersInWordCollection.Add(sharedBitViewModel); } }