Ich habe ein UserControl. Es enthält eine einzelne Textbox mit einem Adorner (der Kürze halber entfernt)TwoWay DataBinding in einem UserControl
<UserControl x:Class="Test.UserControlBindings"
DataContext="{Binding Mode=OneWay, RelativeSource={RelativeSource Self}}"
mc:Ignorable="d" KeyboardNavigation.TabNavigation="Cycle" x:Name="Control"
d:DesignHeight="300" d:DesignWidth="300" >
<AdornerDecorator>
<TextBox x:Name="InputTextBox" VerticalContentAlignment="Center" Text="{Binding Text, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="{Binding ElementName=Control, Path=FontSize}"/>
</AdornerDecorator>
</UserControl>
ich bin Bindung an "Text" des Usercontrol
public partial class WatermarkTextBox : INotifyPropertyChanged {
private static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(string), typeof(WatermarkTextBox), new FrameworkPropertyMetadata(default(string), FrameworkPropertyMetadataOptions.BindsTwoWayByDefault));
public WatermarkTextBox() {
this.InitializeComponent();
}
public event PropertyChangedEventHandler PropertyChanged;
public string Text {
get {
return (string)GetValue(TextProperty);
}
set {
this.SetValue(TextProperty, value);
OnPropertyChanged("Text");
}
}
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName = null) {
PropertyChangedEventHandler handler = this.PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
Der Setter nie aufgerufen wird. Wenn ich also an dieses Benutzersteuerelement binde, werden die Bindungen nie aktualisiert. Was kann ich tun, um die Bindung zu reparieren?