カスタムの Bindable RichText Box を作成したので、Document プロパティにバインドできます。
ただし、ドキュメントのコンテンツを設定するとすぐに、受け入れる唯一のキーボード入力はバックスペース キー (???) です。他のキーボード入力は認識されません (矢印キーを含む)。
何か案は?
BindableRTB クラスのコードは次のとおりです。
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
クラス終了