我正在创建一个UserControl,我想将其作为一种“黑盒子”小部件提供给另一个开发组。
因此,我希望在设计时可以从“属性”窗口访问和编辑所有主要属性。
我的每个属性都标记为:
<Category("Foo"), _
Description("The Foo of this Fubar"), _
Browsable(True)> _
Property Example() As Baz
并成功显示在“属性”窗口中。但是,我有一个属性,它覆盖UserControl的'Text'属性,以便其他开发人员应该能够编辑我的控件的Text,并让它编辑UserControl上标签的显示文本。代码如下所示:
<Category("Appearance"), _
Description("Text to be displayed on StatusWidget"), _
Browsable(True)> _
Overrides Property Text() As String
Get
Return sText
End Get
Set(ByVal Value As String)
sText = Value
TextBlock.Text = sText
End Set
End Property
这在外部项目的VB代码中调用时可以正常工作:
StatusWidget1.Text = "My Goddang Text"
但是,当在“属性”窗口的“文本”字段中输入字符串时,不会自动更新。
尝试通过“InitializeComponent()”方法中的此Me.Label1.Text = Me.Text
调用来纠正此问题是不成功的。
最后,我的问题是: 有没有办法从“属性”窗口更新UserControl上存在的控件的属性,以便它们在运行期间立即可用?