我正在创建一个复合用户控件并尝试将控件公开为属性,以便我可以从我将用户控件放到的表单上对它们进行数据绑定。我试图揭露的控件之一是组合框,我似乎无法弄清楚如何将这个组合框暴露给设计师。我正在尝试下面的代码,我已经从我可以找到的文档中拼凑出来,但到目前为止还没有任何乐趣。
<Category("Data"), Bindable(True), _
Browsable(True), EditorBrowsable(EditorBrowsableState.Always), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), _
AttributeProvider(GetType(IListSource))> _
Public Property RollbackCombo As ComboBox
Get
Return cboRollBack
End Get
Set(value As ComboBox)
cboRollBack = value
End Set
End Property
谁能看到我做错了什么?
只是详细说明一下,我正在使用像这样的属性声明来绑定到复合控件上的文本框,我正在尝试为组合框实现类似的东西,至少是它的数据源。 / p>
<Category("Appearance"),
Bindable(True),
Browsable(True),
EditorBrowsable(EditorBrowsableState.Always),
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
Public Property Title As String
Get
Return TitleTextbox.Text
End Get
Set(value As String)
TitleTextbox.Text = value
End Set
End Property
答案 0 :(得分:3)
我只是在这里猜测,但属性编辑器可能不知道如何处理ComboBox类型的属性。
您是否尝试过暴露ComboBox的DataSource属性?
<Category("Data"), Bindable(True), _
Browsable(True), EditorBrowsable(EditorBrowsableState.Always), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), _
AttributeProvider(GetType(IListSource))> _
Public Property RollbackComboDataSource As Object
Get
Return cboRollBack.DataSource
End Get
Set(value As Object)
cboRollBack.DataSource = value
End Set
End Property