我有一个UserControl
,其中包含ListBox
和TextBox
(名为txt)。我想将TextBox.Text
属性公开为我的控件的依赖属性,并将其命名为Text
。我怎么做?在WinForms中,我通过简单地向控件类添加一个新属性来实现这一点:
public string Text
{
get { return txt.Text; }
set { txt.Text = value; }
}
但这是WPF,我希望我的Text属性可绑定,因此将其添加为依赖属性。
答案 0 :(得分:0)
其他寻找答案的人,我找到的唯一方法是反过来解决它,即不是读取子控件的值的依赖属性,你应该让你的孩子控制读取UserControl的值&# 39; s依赖属性。这可以通过绑定轻松完成。请按照以下步骤操作:
Text="{Binding ElementName=ME, Path=Text}"
。您也可以通过RelativeSource
执行此操作,在这种情况下,您不需要执行第1步。Text
添加到UserControl的代码中。在标记这个之前我会等待更好的答案。
答案 1 :(得分:0)
您要做的第一件事是为您的文本属性创建依赖项属性(例如:Dependeny Properties)。在回调中,您可以设置/获取文本框的文本属性。
也许它是一种更干净/更好的方式来创建自定义控件而不是用户控件。