public virtual FieldOptionModel[] EditOptions(FieldOptionModel[] Options)
        {
            if (!SupportsOptions)
                throw new ApplicationException(string.Format("The field type {0} does not support options. EditOptions shoulds not be called.", FieldType));

            throw new ApplicationException(string.Format("No implementation was provided for EditOptions on type {0}", FieldType));
        }
        public override sealed 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;
        }
        public override FieldOptionModel[] EditOptions(FieldOptionModel[] options)
        {
            var optionsWrapper = new FixedPointOptionWrapper(options);

            var viewModel = new FixedPointOptionsViewModel(optionsWrapper);

            var view = new FixedPointOptionsView()
            {
                DataContext = viewModel
            };

            if (view.ShowDialog() == true)
            {
                return optionsWrapper.GetOptions();
            }

            return null;
        }