我有一个名为的自定义控件EnhancedTextBox
,它是一个具有 aTextBox
和 a的 UserControl Button
。对于消费者来说,我希望它看起来像一个文本框,所以我做了以下事情:
<UserControl.Template>
<ControlTemplate TargetType="textBoxes:EnhancedTextBox">
...
<TextBox Text="{TemplateBinding Text}"...
在 EnhancedTextBox 我有
public static readonly DependencyProperty TextProperty =
DependencyProperty.Register("Text", typeof (String), typeof (EnhancedTextBox));
public String Text
{
get { return (String) GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
然而,当我使用它如下:
<EnhancedTextBox Text="{Binding MyText, Mode=TwoWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}}" />
然后,MyText
永远不会更新,以及我检查EnhancedTextBox.Text
它是空的。我错过了什么?我已经盯着这个看了一会儿,不知道出了什么问题。我什至认为这可能是因为我使用了相同的名称,所以创建一个名为Text1
但不起作用的属性....
另外值得注意的是,如果我使用常规TextBox
,那么这一切都有效。所以,我相当肯定问题出在EnhancedTextBox
它本身