to show you a different way (I replaced and modified your Designer-Class) :
Public Class NavCollectionControlDesigner
Inherits ControlDesigner
Private MyControl As mSideBarPanelNav
Public Overrides Sub Initialize(Component As IComponent)
MyBase.Initialize(Component)
MyControl = DirectCast(Component, mSideBarPanelNav)
End Sub
Protected Overrides Sub Dispose(disposing As Boolean)
MyBase.Dispose(disposing)
End Sub
Private _ActionLists As DesignerActionListCollection
Public Overrides ReadOnly Property ActionLists As System.ComponentModel.Design.DesignerActionListCollection
Get
If _ActionLists Is Nothing Then
_ActionLists = New DesignerActionListCollection()
_ActionLists.Add(New NavCollectionControlSmartTags(Me))
End If
Return _ActionLists
End Get
End Property
End Class
Public Class NavCollectionControlSmartTags
Inherits DesignerActionList
Private _Designer As NavCollectionControlDesigner
Private _ActiveControl As mSideBarPanelNav
Private _DesignerActionUIService As DesignerActionUIService
Public Sub New(ByVal designer As NavCollectionControlDesigner)
MyBase.New(designer.Component)
_Designer = designer
MyBase.AutoShow = False
_ActiveControl = TryCast(designer.Component, mSideBarPanelNav)
_DesignerActionUIService = DirectCast(Me.GetService(GetType(DesignerActionUIService)), DesignerActionUIService)
End Sub
Public Overrides Function GetSortedActionItems() As DesignerActionItemCollection
Dim Itemlist As New DesignerActionItemCollection()
If _ActiveControl IsNot Nothing Then
Itemlist.Add(New DesignerActionHeaderItem("explaining Text", "Own"))
Itemlist.Add(New DesignerActionPropertyItem("Items_InActionList", "declared Items", "View", PropertyHelper.GetDescription(_ActiveControl, "Items")))
Itemlist.Add(New DesignerActionPropertyItem("BackColor_InActionList", "BackColor", "Colors", PropertyHelper.GetDescription(_ActiveControl, "BackColor")))
End If
Return Itemlist
End Function
ReadOnly Property Items_InActionList() As ItemCollection
Get
Return _ActiveControl.Items
End Get
End Property
Public Property BackColor_InActionList() As Color
Get
Return _ActiveControl.BackColor
End Get
Set(ByVal value As Color)
_ActiveControl.BackColor = value
End Set
End Property
End Class