我有我的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}"
MainWindow.xaml
<local:TextBoxExtended x:Name="TextBoxSearch" Height="30" Margin="83,38,193,285" MyTextProperty="MyTextProperty"/>
我需要事件textchange,我使用此代码
<local:TextBoxExtended x:Name="TextBoxSearch" Height="30" Margin="83,38,193,285" MyTextProperty="{Binding MyText, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
但我需要在引入每个字符后进行更改
答案 0 :(得分:0)
您必须在TextBoxExtended.xaml中设置Binding的源对象,例如
<TextBox x:Name="tbMain"
Text="{Binding MyTextProperty,
RelativeSource={RelativeSource AncestorType=UserControl}}" />
答案 1 :(得分:-1)
在TextBox的绑定中使用ElementName。
<StackPanel>
<TextBox Text="{Binding MyText, ElementName=TextBoxSearch}" ></TextBox>
<local:TextBoxExtended x:Name="TextBoxSearch" Height="30"
MyText="Hello World!!!" />
</StackPanel>