自定义控件中的DependencyProperty问题
|
在我的代码中,我在自定义控件ValidatingTextBox中声明了以下依赖项属性:
public DependencyProperty visibleText = DependencyProperty.RegisterAttached(\"visText\", typeof(String), typeof(ValidatingTextBox));
public String visText
{
get { return theBox.Text; }
set { theBox.Text = value; }
}
但是当我尝试使用xaml时
<local:ValidatingTextBox>
<ValidatingTextBox.visibleText>
</ValidatingTextBox.visibleText>
</local:ValidatingTextBox>
它说在ValidatingTextBox中不存在这样的依赖项属性。我究竟做错了什么?有没有更好的方法与自定义控件的子文本框进行交互?
没有找到相关结果
已邀请:
1 个回复
细瑞
的register方法中,字段名称与属性本身无关。您似乎还定义了一个将像普通属性一样使用的附加属性,应该将其定义为普通依赖项属性。 进一步,您通过执行以下操作创建了两个属性,一个没有CLR包装器的de亵属性和一个普通属性:
它与您实际的依赖属性的值无关,因为它从不访问它。除此之外,属性字段应为静态和只读。 建议仔细阅读《 Depedency属性概述》,因为这很糟,还可以阅读有关创建自定义依赖项属性的文章,这应该会很有帮助。 要解决有关如何与子控件进行交互的问题:创建(适当)依赖项属性并绑定到它们。 由于该属性已经存在于子级上,因此您也可以使用
重用该属性: