我正在努力使avalonedit从右到左布局,以便支持从右到左的语言(例如阿拉伯语)
代码似乎太大而无法理解,我至少需要知道我的更改会在哪里?它的主要模块是什么,或者说明每个组件的一些图表/文档(除了源代码提供的4个图像之外)
我至少需要知道编辑器的基本组件是什么。谢谢你的帮助
答案 0 :(得分:1)
TextView
类负责实际的文本呈现。文本行中的布局使用WPF TextFormatter
完成(请参阅TextView.cs中的#region BuildVisualLine)。
AvalonEdit已经支持从左到右段落中的双向文本,因此如果你可以让WPF创建从右到左的段落,编辑器应该可以工作。
我认为改变VisualLineTextParagraphProperties.FlowDirection
属性可能就足够了。
理想情况下,文本视图会使用TextView.FlowDirection
的值,但在使用TextView.FlowDirection
(镜像文本)时,我看到了一些奇怪的效果。不确定那是什么;我不熟悉WPF在从右到左的上下文中的工作方式(我猜有一些自动镜像功能?)。