Microsoft 没有公开在其文档类之一内呈现自定义TextElement所需的方法。如果您查看Run或Span的代码,就会发现没有实际的渲染代码。渲染发生在由各种内部类(如FixedTextBuilder)构建的 UIElement中。
来自 MSDN 关于FrameworkContentElement的注释:
FrameworkContentElement 尚未定义自己的渲染行为;可以在代码或标记中实例化实际的 FrameworkContentElement 类实例,但在 WPF 应用程序用户界面 (UI) 中不显示任何内容。呈现逻辑必须由将 FrameworkContentElement 子元素作为其内容模型一部分的类提供,或者由 FrameworkContentElement 派生类提供。
一切都没有丢失,通过BlockUIContainer和InlineUIContainer类提供对渲染自定义 Block 和 Inline 元素的支持。然后,您可以创建一个低级别的 UIElement,它将托管在固定或流文档内,或者使用更高级别的 WPF 元素。