I have written a custom Bindable RichText Box, so I can bind to the Document property.
However, as soon as I set my document content, the only keyboard input it accepts is the backspace key (???). No other keyboard input is acknowledged (including the arrow keys).
Any ideas?
Here is the code of my BindableRTB class:
Imports System.Windows.Documents
Imports System.Windows
Imports System.Windows.Controls
Public Class BindableRTB
Inherits System.Windows.Controls.RichTextBox
Public Shared DocumentProperty As DependencyProperty = DependencyProperty.Register("Document", GetType(FlowDocument), _
GetType(BindableRTB), New FrameworkPropertyMetadata(Nothing, _
New PropertyChangedCallback(AddressOf OnDocumentChanged)))
Sub New()
MyBase.new()
Me.IsReadOnly = False
Me.IsDocumentEnabled = True
End Sub
Public Overloads Property Document() As FlowDocument
Get
Return CType(MyBase.GetValue(DocumentProperty), FlowDocument)
End Get
Set(ByVal value As FlowDocument)
MyBase.SetValue(DocumentProperty, value)
End Set
End Property
Private Shared Sub OnDocumentChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs) Console.WriteLine("doc changed")
Dim rtb As RichTextBox = CType(d, RichTextBox)
rtb.Document = CType(e.NewValue, FlowDocument)
End Sub
End Class