首页 > 解决方案 > 从 UserControl 的属性访问所有内部控件的属性

问题描述

所以,我做了一个“自定义文本框”。UserControl 只是一个带有 Rectangle 和一个 TextBox 的 Grid,如果鼠标悬停,后面的一些代码只会为矩形着色,并在 TextBox 的文本被键盘聚焦时着色。我想访问 TextBox 具有的所有属性,而不必通过设置依赖属性然后将它们绑定到 XAML 中来手动连接每个属性。有没有办法让 TextBox 属性可以从 XAML 中访问?

标签: c#wpfxamltextboxuser-controls

解决方案


是的,你可以做到。提供您TextBoxUserControl姓名:

<TextBox x:Name="uscTbx" Text={Binding toSomething}/>

在您UserControl定义属性的代码中:

public TextBox UscTexBox { get { return uscTbx; }}

在另一个窗口的 XAML 中,您可以访问 TextBox 的属性:

<local:UserControl1 x:Name="usc1"/>
<TextBox Text="{Binding Path=UscTexBox.Text, ElementName=usc1}"/>

推荐阅读