Как принудительно использовать пользовательский UITypeEditor для типов систем
У меня есть пользовательский UITypeEditor, который используется для выбора цвета в моей программе с использованием таблицы свойств, но я не могу заставить ее активироваться, если я просто выставляю system.drawing.color. Мне нужно обернуть цвет CustomType, прежде чем он вызовет мой UITypeEditor.
Обратите внимание на свойствоЦвет оно работает.Цвет не делает.
Когда я открываю propertyGrid, я вижуGetEditStyle
вызывается с помощью обоих методов, но когда дело доходит доEditValue
он вызывается только при выборе TheColour в сетке свойств. Раскрывающийся список Нормальный цвет отображается при выборе свойства цвета
Что мне не хватает?
<CategoryAttribute("Order Colour"), _
Browsable(True), _
DisplayName("The Colour"), _
Description("The background colour for orders from this terminal"), _
EditorAttribute(GetType(IKMDependency.ColourSelectorEditor), _
GetType(System.Drawing.Design.UITypeEditor))> _
Public Property TheColour() As MyColour
Get
Return mMyColor
End Get
Set(ByVal value As MyColour)
If value.Colour <> mMyColor.Colour Then
mColor = value.Colour
mMyColor = value
mIsDirty = True
End If
End Set
End Property
<CategoryAttribute("Order Colour"), _
Browsable(True), _
DisplayName("Colour"), _
Description("The background colour for orders from this terminal"), _
EditorAttribute(GetType(IKMDependency.ColourSelectorEditor), _
GetType(System.Drawing.Design.UITypeEditor))> _
Public Property Colour() As Color
Get
Return mColor
End Get
Set(ByVal value As Color)
If mColor <> value Then
mColor = value
mMyColor = New MyColour(mColor)
mIsDirty = True
End If
End Set
End Property