我制作了一个自定义的usercontrol,其中包含标签。我有3个字符串属性:firstName,lastname,fullname。
如何设置标签的文本= fullname?
public string firstName
{
get; set;
}
public string lastName
{
get; set;
}
public string fullName //this fails
{
get { return string.Format("{0} {1}", firstName, lastName); }
set { labelFullName.Text = value; }
}
对我来说看起来像Windows的形式。在WPF中,您将使用labelfullname.content属性。假设您想每次更改名称或姓氏更改时将标签设置为fullname,那么一个选项是在UserControl类中执行此操作:
private String _sFirstName = "";
private String _sLastName = "";
public String FirstName {
get { return _sFirstName; }
set { _sFirstName = value; UpdateLabel(); }
}
public String LastName {
get { return _sLastName; }
set { _sLastName = value; UpdateLabel(); }
}
public String FullName {
get { return _sFirstName + " " + _sLastName; }
}
private void UpdateLabel() {
// do within a UI thread to prevent threading issues
this.BeginInvoke((Action)(() => {
labelFullName.Text = this.FullName.Trim();
}));
}