如何更改usercontrol中的依赖属性值?

时间:2015-10-20 14:54:09

标签: c# wpf xaml data-binding user-controls

我有具有TextInUserControl属性的用户控件。

UserControl1.cs

    public UserControl1()
    {
        InitializeComponent();
        TextInUserControl = "test";
        //or something like SetValue(TextInUserControlProperty, "test");
    }

我可以在mainwindow中绑定到这个属性,当我在mainwindow中更改此属性时,它也会在usercontrol中更新。这意味着正在完美地读取来自源的属性更改。但是如何在mainwindow中更改此属性以在用户控件中引入(来源)?

我正在尝试做但不工作的例子:

ftp://username:password@url

1 个答案:

答案 0 :(得分:1)

如果要初始化文本,可以使用依赖项属性的默认值。您可以编写属性元数据,构造函数的第一个参数是默认属性值。请参阅下面的代码。

 public partial class UserControl1 : UserControl
{  
    public static readonly DependencyProperty TextInUserControlProperty =
    DependencyProperty.Register("TextInUserControl",
        typeof(string),
        typeof(UserControl1));

    public string TextInUserControl
    {
        get { return (string)GetValue(TextInUserControlProperty); }
        set { SetValue(TextInUserControlProperty, value); }
    }

    public UserControl1()
    {
        InitializeComponent();           

        this.SetValue(UserControl1.TextInUserControlProperty, "My Text");
    }
}