Я написал пользовательский 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
Конечный класс