示例#1
0
        public IConfigurationItem VisitSubProperty(ISubPropertyEditorViewModel subPropertyEditorViewModel)
        {
            var subProperty = _container.Resolve <ISubProperty>();

            subProperty.BitNumbersInWord = subPropertyEditorViewModel.BitNumbersInWord.Where(model => model.Value && model.Owner == subPropertyEditorViewModel)
                                           .Select(model => model.NumberOfBit).ToList();
            subProperty.Address        = ushort.Parse(subPropertyEditorViewModel.Address ?? "0");
            subProperty.NumberOfPoints = ushort.Parse(subPropertyEditorViewModel.NumberOfPoints ?? "0");
            return(InitializeProperty(subPropertyEditorViewModel, subProperty));
        }
        public void RemoveChildItem(IEditorConfigurationItemViewModel configurationItemViewModelToRemove)
        {
            ISubPropertyEditorViewModel subPropertyEditorViewModelToRemove = configurationItemViewModelToRemove as ISubPropertyEditorViewModel;

            this.SubPropertyEditorViewModels.Remove(subPropertyEditorViewModelToRemove);
            this.ChildStructItemViewModels.Remove(subPropertyEditorViewModelToRemove);

            MainBitNumbersInWordCollection.ForEach(model =>
            {
                if (model.Owner == configurationItemViewModelToRemove && model.Value)
                {
                    model.ChangeValueByOwnerCommand.Execute(configurationItemViewModelToRemove);
                }
            });
        }