加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 在WPF中公开绑定的子控件依赖项属性

发布时间:2020-12-13 20:44:29 所属栏目:百科 来源:网络整理
导读:我有一个非常简单的UserControl,名为CustomTextBox,带有这个XAML: UserControl x:Class="CustomTextBox" ... Grid TextBox x:Name="InnerTextBox"/ /Grid/UserControl 现在,当我使用CustomTextBox并想要对InnerTextBox.Text进行绑定时,它不起作用: ... {Bi
我有一个非常简单的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控件,并且无法访问属性.

有没有简单的方法来设置从某个控件到UserControl的子元素属性的绑定?

1.在你的控件背后的代码中创建一个新的DP,比如说我们在你的代码的xaml中称它为Text 2.
<TextBox x:Name="InnerTextBox" Text={Binding Text}/>

3.确保textBox的DataContext是UserControl

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读