我有一个非常简单的UserControl,名为CustomTextBox,带有这个XAML:
<UserControl x:Class="CustomTextBox" ... > <Grid> <TextBox x:Name="InnerTextBox"/> </Grid> </UserControl>
现在,当我使用CustomTextBox并想要对InnerTextBox.Text进行绑定时,它不起作用:
... {Binding ElementName=CustomTextBox,Path=InnerTextBox.Text}
我尝试了另一种方式,也不起作用:
... {Binding ElementName=CustomTextBox.InnerTextBox,Path=Text}
我知道我可以定义一个名为CustomTextBox.Text的新依赖项属性,然后将其绑定到InnerTextBox.Text,但我打算使用具有许多属性的自定义控件,并且复制所有这些属性仅仅是为了支持绑定.此外,复制/包装属性意味着每个值存储两次.
在WinForms中,这是一个简单的继承问题,所有属性都可以自动使用.在WPF中,无法继承XAML控件,并且无法访问属性.