Eng Ahmed Taha Ответов: 1

Как отредактировать класс свойства из desinger ?


У меня есть этот класс унаследованный от ColumnHeader

Public Class xcolumnheader

   Inherits ColumnHeader

   <Browsable(True), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
   Public Property CP As New CollectionOfProperties

   Public Class CollectionOfProperties

       <Browsable(True)>
       Public Property Property1 As Boolean

       <Browsable(True)>
       Public Property Property2 As String

       <Browsable(True)>
       Public Property Property3 As Integer

   End Class

End Class


Я хочу, чтобы свойство CP было редактируемым из desinger (например, редактирование шрифта элемента управления)

Что я уже пробовал:

Я попробовал поискать но не нашел как это сделать

1 Ответов

Рейтинг:
4

Ralf Meier

Вам нужно только добавить ExpandableObjectConverter в качестве TypeConverter в свой класс :

Imports System.ComponentModel

Public Class xColumnHeader
    Inherits ColumnHeader

    <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
    Public Property CP As New CollectionOfProperties

    <TypeConverter(GetType(ExpandableObjectConverter))>
    Public Class CollectionOfProperties

        Public Property Property1 As Boolean

        Public Property Property2 As String

        Public Property Property3 As Integer

    End Class

End Class


Дополнительный :
Вам не нужен атрибут Browsable-Attribute в ваших свойствах - каждое свойство обычно всегда "просматривается". Этот атрибут нужен вам только в том случае, если вы хотите, чтобы ваше свойство было недоступно для просмотра ...


Eng Ahmed Taha

Это работает ... спасибо

Ralf Meier

Афван ... всегда пожалуйста...