C#中的简单依赖属性和UserControl问题

时间:2011-04-18 05:29:18

标签: c# wpf user-controls dependency-properties

我的最终目标是通过XAML中Text的调用公开TextBoxUserControl的{​​{1}}值。

UserControl

将使用<my:UserControl SetCustomText="Blah blah this is variable"> 的文字提交UserControl

我一直在使用各种示例工作,但我总是最终得到“在UserControl类型中找不到Property SetCustomText”

1 个答案:

答案 0 :(得分:3)

如何执行此操作的示例:

<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"/>