protected override void InitializeControl(PropertyEditorContext <NumericUpDown> context) { base.InitializeControl(context); var numericAttribute = context.Property.PropertyType.GetCustomAttribute <NumericValueAttribute>(); context.Editor.Maximum = numericAttribute?.Maximum < _maxValue ? numericAttribute.Maximum : _maxValue; context.Editor.Minimum = numericAttribute?.Minimum > _minValue ? numericAttribute.Minimum : _minValue; context.Editor.BorderThickness = new Thickness(0); context.Editor.TextAlignment = TextAlignment.Left; context.Editor.MinHeight = 20; context.Editor.UpDownButtonsWidth = 20; if (numericAttribute?.StringFormat != null) { context.Editor.StringFormat = numericAttribute.StringFormat; } if (_isDecimal) { context.Editor.NumericInputMode = NumericInput.Decimal; context.Editor.Interval = .1; } else { context.Editor.NumericInputMode = NumericInput.Numbers; } }
protected override void InitializeControl(PropertyEditorContext <ComboBox> context) { base.InitializeControl(context); context.Editor.SelectedValuePath = "Value"; context.Editor.DisplayMemberPath = "Description"; }
protected override IEnumerable CreateItemsSource(PropertyEditorContext <ComboBox> context) { var enumValues = Enum.GetValues(context.Property.PropertyType).Cast <object>().Distinct(); return(enumValues.Select(enumValue => new EnumerationMember { Value = enumValue, Description = GetDescription(enumValue, context.Property.PropertyType) }).ToArray()); }
protected override void InitializeControl(PropertyEditorContext <DateTimeUpDown> context) { base.InitializeControl(context); if (context.Property.PropertyType.IsValueType && (DateTime)context.Property.Value == default) { context.Property.Value = DateTime.Now; } }
protected override void InitializeControl(PropertyEditorContext <CheckBox> context) { base.InitializeControl(context); if (Nullable.GetUnderlyingType(context.Property.PropertyType) != null) { context.Editor.IsThreeState = true; } context.Editor.Margin = new Thickness(10, 0, 0, 0); }
protected override void InitializeControl(PropertyEditorContext <PathBox> context) { base.InitializeControl(context); var attribute = context.Property.PropertyType.GetCustomAttribute <PathAttribute>(); context.Editor.IsSelectingFile = attribute.PathMode == PathMode.File; context.Editor.Filter = attribute.Filter; context.Editor.BorderThickness = new Thickness(0); context.Editor.MinHeight = 20; }
protected override IEnumerable CreateItemsSource(PropertyEditorContext <ComboBox> context) { var items = new List <BoolMember> { new BoolMember { Value = false, Description = bool.FalseString }, new BoolMember { Value = true, Description = bool.TrueString } }; if (context.Property.PropertyType == typeof(bool?)) { items.Add(new BoolMember { Value = null, Description = "Null" }); } return(items); }
protected override TimeSpanUpDown CreateEditor(PropertyEditorContext <TimeSpanUpDown> context) { return(new PropertyGridEditorTimeSpanUpDown()); }
protected override ComboBox CreateEditor(PropertyEditorContext <ComboBox> context) => new PropertyGridEditorComboBox();
protected override DateTimeUpDown CreateEditor(PropertyEditorContext <DateTimeUpDown> context) => new PropertyGridEditorDateTimeUpDown();
protected override void InitializeControl(PropertyEditorContext <TextBox> context) { base.InitializeControl(context); context.Editor.BorderThickness = new Thickness(0); context.Editor.MinHeight = 20; }
protected override IValueConverter CreateValueConverter(PropertyEditorContext <TextBox> context) { var typeConverter = TypeDescriptor.GetConverter(context.Property.PropertyType); return(new StringToTypeConverter(typeConverter, context.Property)); }
protected override IValueConverter CreateValueConverter(PropertyEditorContext <DateTimeUpDown> context) => new DateTimeOffsetConverter(!context.Property.PropertyType.IsValueType);
protected override ColorPicker CreateEditor(PropertyEditorContext <ColorPicker> context) => new PropertyGridEditorColorPicker();
protected override void InitializeControl(PropertyEditorContext <TimeSpanUpDown> context) { base.InitializeControl(context); context.Editor.Minimum = TimeSpan.Zero; }
protected abstract IEnumerable CreateItemsSource(PropertyEditorContext <ComboBox> context);
protected override IValueConverter CreateValueConverter(PropertyEditorContext <NumericUpDown> context) { return(new BasicTypeConverter <T>()); }
protected override void InitializeControl(PropertyEditorContext <ComboBox> context) { base.InitializeControl(context); context.Editor.ItemsSource = CreateItemsSource(context); }
protected override NumericUpDown CreateEditor(PropertyEditorContext <NumericUpDown> context) => new PropertyGridEditorNumericUpDown();