我创建了自定义UserControl
,其中包含一些自定义属性。例如:
[Description("Example Description"),Category("CustomSettings"),DefaultValue("Transmedicom")]
public string DatabaseAddress
{
get; set;
}
一切正常。我可以在代码和custom property
中更改design-time
。
我现在正在寻找(并且找不到任何东西)的是:当我的自定义属性在设计时更改时,我如何在设计时重新绘制(重新创建)我的UserControl
。
让我们说DatabaseName
将更改为localhost
UserControl
时,会在我的UserControl上添加并显示一些标签。在Design-Time
工作非常重要。
答案 0 :(得分:1)
没什么特别的。您只需在属性设置器中将文本设置为Label
即可。这应该更新UI。
private string databaseAddress;
[Description("Example Description"), Category("CustomSettings"), DefaultValue("Transmedicom")]
public string DatabaseAddress
{
get { return databaseAddress; }
set
{
databaseAddress = value;
yourLabel.Text = value;//Set value to Label or whatever
}
}
答案 1 :(得分:1)
试试这个
private string _databaseAddress = "localHost";
[Description("Example Description"), Category("CustomSettings"), DefaultValue("Transmedicom")]
public string DatabaseAddress
{
get
{
return _databaseAddress;
}
set
{
if(!string.IsNullOrEmpty(value))
{
_databaseAddress = value;
lblAddress.Text = value;
lblAddress.Invalidate();
}
}
}
答案 2 :(得分:1)
以前的答案都是正确的
我只是想补充说,用户控件甚至可以在设计时使用Layout
事件对调整大小做出反应。