public QuickAccessMemorySettingViewModel(Func <IRangeViewModel> rangeViewModelGettingFunc, ITypesContainer container)
 {
     _rangeViewModelGettingFunc = rangeViewModelGettingFunc;
     _container                = container;
     AddRangeCommand           = new RelayCommand(OnAddRangeExecute);
     DeleteRangeCommand        = new RelayCommand(OnDeleteRangeExecute, CanExecuteDeleteRange);
     RangeViewModels           = new ObservableCollection <IRangeViewModel>();
     _quickMemoryAccessSetting = container.Resolve <IFragmentSetting>(ApplicationGlobalNames.QUICK_ACCESS_MEMORY_CONFIGURATION_SETTING) as IQuickMemoryAccessSetting;
 }
        private void SetModel(object value)
        {
            if (value is IQuickMemoryAccessSetting)
            {
                IQuickMemoryAccessSetting setting = value as IQuickMemoryAccessSetting;
                _quickMemoryAccessSetting = setting;
                foreach (IRange range in setting.QuickAccessAddressRanges)
                {
                    IRangeViewModel rangeViewModel = _rangeViewModelGettingFunc();
                    rangeViewModel.RangeFrom = range.RangeFrom.ToString();
                    rangeViewModel.RangeTo   = range.RangeTo.ToString();

                    RangeViewModels.Add(rangeViewModel);
                }
                IsSettingEnabled = _quickMemoryAccessSetting.IsSettingEnabled;
            }
        }