我的最终目标是从XAML中调用UserControl
时,暴露在UserControl
中的TextBox
的Text
值。
<my:UserControl SetCustomText="Blah blah this is variable">
使用该方法会将UserControl
与该TextBox
的文本字段一起呈现。
我一直在尝试使用各种示例进行工作,但最终都出现了“在UserControl类型中未找到Property SetCustomText”的错误。
我的最终目标是从XAML中调用UserControl
时,暴露在UserControl
中的TextBox
的Text
值。
<my:UserControl SetCustomText="Blah blah this is variable">
使用该方法会将UserControl
与该TextBox
的文本字段一起呈现。
我一直在尝试使用各种示例进行工作,但最终都出现了“在UserControl类型中未找到Property SetCustomText”的错误。
以下是如何做到这一点的示例:
<UserControl x:Class="Test.UserControls.MyUserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
Name="control">
<Grid>
<!-- Text is being bound to outward representative property -->
<TextBox Text="{Binding MyTextProperty, ElementName=control}"/>
</Grid>
</UserControl>
public partial class MyUserControl1 : UserControl
{
// The dependency property which will be accessible on the UserControl
public static readonly DependencyProperty MyTextPropertyProperty =
DependencyProperty.Register("MyTextProperty", typeof(string), typeof(MyUserControl1), new UIPropertyMetadata(String.Empty));
public string MyTextProperty
{
get { return (string)GetValue(MyTextPropertyProperty); }
set { SetValue(MyTextPropertyProperty, value); }
}
public MyUserControl1()
{
InitializeComponent();
}
}
<uc:MyUserControl1 MyTextProperty="Text goes here"/>