wpf - 使用 wpf 中的自定义 TextElements 扩展 FlowDocument

标签 wpf

我想通过创建我自己的 Span 和 Run 派生来扩展 FlowDocument 的功能。

这是可能的,有没有人找到任何例子?

最佳答案

Microsoft 没有公开呈现自定义所需的方法 TextElement在他们的文档类之一中。如果您查看 Run 的代码或 Span没有实际的渲染代码。渲染发生在 UIElement由各种内部类(如 FixedTextBuilder)构建。

来自 MSDN 关于 FrameworkContentElement 的注释:

FrameworkContentElement does not yet define its own rendering behavior; instantiating an actual FrameworkContentElement class instance in code or markup is possible but displays nothing in a WPF application user interface (UI). Rendering logic must be provided by classes that take FrameworkContentElement child elements as part of their content model, or in FrameworkContentElement derived classes.



一切都没有丢失,通过 BlockUIContainer 提供了对渲染自定义块和内联元素的支持。和 InlineUIContainer类。然后,您可以创建一个低级 UIElement,它将托管在固定或流文档中,或者使用更高级别的 WPF 元素。

关于wpf - 使用 wpf 中的自定义 TextElements 扩展 FlowDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468893/

相关文章:

WPF - 绑定(bind)和渲染转换

c# - 使用 Viewbox 缩放网格内的控件

c# - 按键按钮 Action

c# - 如何修复 WPF 应用程序中的 TargetPlatformMinVersion 问题?

wpf - 选中切换按钮时更改切换按钮的背景颜色

c# - Prism 错误 'The region manager does not contain the region'

c# - Tesseract 3.02 无法加载 DLL

asp.net - 尝试学习 ASP.NET 的 WinForms/WPF 开发人员资源

c# - 鼠标滚动在带有 wpf 数据网格和其他 UI 元素的滚动查看器中不起作用

c# - 如何在 C# WPF 中停止 DispatcherTimer