private void InitBindings() { StaticTextBlock.SetBinding(TextBlock.FontSizeProperty, new Binding(nameof(FontSize)) { Source = this, Mode = BindingMode.OneWay }); StaticTextBlock.SetBinding(TextBlock.FontFamilyProperty, new Binding(nameof(FontFamily)) { Source = this, Mode = BindingMode.OneWay }); StaticTextBlock.SetBinding(TextBlock.TextProperty, new Binding(nameof(Text)) { Source = this, Mode = BindingMode.OneWay }); StaticTextBlock.SetBinding(TextBlock.ForegroundProperty, new Binding(nameof(Foreground)) { Source = this, Mode = BindingMode.OneWay }); EditingTextBox.SetBinding(TextBox.FontSizeProperty, new Binding(nameof(FontSize)) { Source = this, Mode = BindingMode.OneWay }); EditingTextBox.SetBinding(TextBox.FontFamilyProperty, new Binding(nameof(FontFamily)) { Source = this, Mode = BindingMode.OneWay }); EditingTextBox.SetBinding(TextBox.TextProperty, new Binding(nameof(EditingText)) { Source = this, Mode = BindingMode.TwoWay, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }); EditingTextBox.SetBinding(TextBox.BackgroundProperty, new Binding(nameof(EditingBackground)) { Source = this, Mode = BindingMode.OneWay }); EditingTextBox.SetBinding(TextBox.ForegroundProperty, new Binding(nameof(EditingForeground)) { Source = this, Mode = BindingMode.OneWay }); EditingTextBox.SetBinding(TextBox.VisibilityProperty, new Binding(nameof(IsEditing)) { Source = this, Mode = BindingMode.OneWay, Converter = new BoolToVisibilityConverter() }); EventArea.SetBinding(Border.IsHitTestVisibleProperty, new Binding(nameof(IsEditing)) { Source = this, Mode = BindingMode.OneWay, Converter = new BoolInvertConverter() }); }