Microsoft hat die Methoden, die zum Rendern einer benutzerdefinierten TextElement innerhalb einer ihrer Dokumentklassen erforderlich sind, nicht verfügbar gemacht. Wenn Sie den Code für eine Run oder Span betrachten, gibt es keinen tatsächlichen Rendering-Code. Das Rendering findet in UIElement statt, die von verschiedenen internen Klassen (wie FixedTextBuilder) erstellt werden.
Aus Notizen des MSDN auf FrameworkContentElement:
Framework noch nicht sein eigenes Rendering-Verhalten definieren; Das Instanziieren einer tatsächlichen FrameworkContentElement-Klasseninstanz in Code oder Markup ist möglich, zeigt jedoch nichts in einer WPF-Anwendungsbenutzeroberfläche an. Die Rendering-Logik muss von Klassen bereitgestellt werden, die untergeordnete FrameworkContentElement-Elemente als Teil ihres Inhaltsmodells oder in von FrameworkContentElement abgeleiteten Klassen verwenden.
nicht alles verloren ist, Unterstützung für die Darstellung von benutzerdefinierten Block- und Inline-Elemente wird durch die BlockUIContainer und InlineUIContainer Klassen zur Verfügung gestellt. Sie könnten dann ein UIElement auf niedriger Ebene erstellen, das innerhalb des Fixed- oder Flow-Dokuments gehostet wird, oder Sie können WPF-Elemente auf höherer Ebene verwenden.
Ich versuche das MVVM-Muster für ein Fließdokument anzuwenden. Ich könnte eine TextBox mit DataBinding erstellen, habe aber Probleme mit einem BlockUIContainer ... – DrMarbuse