Silverlight:如何分配usercontrol';将属性值设置为文本框?

Silverlight:如何分配usercontrol';将属性值设置为文本框?,silverlight,properties,user-controls,textbox,expression-blend,Silverlight,Properties,User Controls,Textbox,Expression Blend,我有一个用户控件,已在silverlight中添加到外部窗体。用户控件有一个名为txtRoleTitle的文本框,我在usercontrol的类中声明了一个名为lableName的属性,并将txtRoleTitle.text分配给labelName,如下面的代码所示, 在silverlight属性面板的miscellaneous菜单下,我将labelName设置为“Lown”,然后将此用户控件的另一个控件添加到outerform,并将其labelName设置为租户。但当我运行silverligh

我有一个用户控件,已在silverlight中添加到外部窗体。用户控件有一个名为txtRoleTitle的文本框,我在usercontrol的类中声明了一个名为lableName的属性,并将txtRoleTitle.text分配给labelName,如下面的代码所示, 在silverlight属性面板的miscellaneous菜单下,我将labelName设置为“Lown”,然后将此用户控件的另一个控件添加到outerform,并将其labelName设置为租户。但当我运行silverlight对话时,这似乎不起作用。labelName的值在设计和运行时不会出现在文本框中

下面是我的代码。谢谢

public partial class UserRoleDetails : UserControl
{
    public string labelName { get; set; }

    public UserRoleDetails()
    {
        InitializeComponent();

        this.txtRoleTitle.Text = labelName;
    }

}

您正在构造函数中设置txtRoleTitle.Text的值,在赋值点labelName属性将没有值


我认为您需要考虑使labelName成为一个依赖属性,并在用户控件的xaml中绑定txtRoleTitle控件。看看这个例子:

首先,您的类应该实现INotifyPropertyChanged接口

其次,应该将labelName属性设置为notify属性

第三,应该将txtRoleTitle的text属性绑定到notify属性

好了,你完了


示例:

我查看了依赖性属性解决方案。虽然如果实施得当,这可能会起作用,但对于我尝试做的事情来说,这是一个过分的解决方案。因此,我有一个简单的解决方案,现在可以使用了,请参见下面的代码:

public partial class UserRoleDetails : UserControl
{
    public string labelName
    {
        get {return this.txtRoleTitle.Text;}
        set {this.txtRoleTitle.Text = value;}
    }

    public UserRoleDetails()
    {
        InitializeComponent();
    }
}