UserControl依赖项属性不起作用

本文关键字:不起作用 属性 依赖 UserControl | 更新日期: 2023-09-27 18:20:44

我有我的UserControl。我想设置Dependency属性,但不能。

TextBoxExtended.cs

public partial class TextBoxExtended : UserControl
    {
        public static readonly DependencyProperty MyTextPropertyProperty =
        DependencyProperty.Register("MyTextProperty", typeof(string), typeof(TextBoxExtended), new UIPropertyMetadata(String.Empty));
        public string MyTextProperty
        {
            get { return (string)GetValue(MyTextPropertyProperty); }
            set { SetValue(MyTextPropertyProperty, value); }
        }

TextBoxExtended.xaml

<TextBox x:Name="tbMain" Text="{Binding MyTextProperty}"

主窗口.xaml

<local:TextBoxExtended x:Name="TextBoxSearch" Height="30" Margin="83,38,193,285" MyTextProperty="MyTextProperty"/>

我需要事件文本更改,我使用此代码

<local:TextBoxExtended x:Name="TextBoxSearch" Height="30" Margin="83,38,193,285" MyTextProperty="{Binding MyText, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>

但我需要在引入每个字符

UserControl依赖项属性不起作用

之后进行更改

您必须在TextBoxExtended.xaml中设置绑定的源对象,例如

<TextBox x:Name="tbMain"
    Text="{Binding MyTextProperty,
                   RelativeSource={RelativeSource AncestorType=UserControl}}" />

在TextBox的绑定中使用ElementName。

        <StackPanel>
            <TextBox Text="{Binding MyText, ElementName=TextBoxSearch}" ></TextBox>
            <local:TextBoxExtended x:Name="TextBoxSearch" Height="30"
                                   MyText="Hello World!!!" />
        </StackPanel>