我创建了一个自定义控件,派生自UserControl,它有一个文本块,一个文本框和2个按钮,名为PathMng。
<Grid>
<!-- some other stuff -->
<TextBlock Name="PathName">Name</TextBlock>
</Grid>
我正在尝试通过调用此控件的外部xaml设置TextBlock的文本
<Grid>
<local:PathMng>NameHere</local:PathMng>
</Grid>
但我无法理解如何将文本“NameHere”绑定到TextBlock。
我试着搜索“自定义xaml”,“模板xaml”或者可能太多的通用词,但我找不到我需要的东西
提前感谢您提供任何帮助
答案 0 :(得分:1)
首先,为了使您更简单,请使用,例如:
进行设置<local:PathMng MyText="NameHere"/>
现在,在您的用户控件代码隐藏中,创建一个依赖项属性:
public string MyText
{
get { return (string)GetValue(MyTextProperty); }
set { SetValue(MyTextProperty, value); }
}
public static readonly DependencyProperty MyTextProperty =
DependencyProperty.Register("MyText", typeof(string), typeof(UserContrrol1), new PropertyMetadata(null));
最后,在UserControl1 XAML中,将TextBox的Text属性绑定到此DP:
<TextBox Text="{Binding MyText, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:UserControl1}}}" />
所有这些都假定您的用户控件名为UserControl1