AvalonEdit:如何从右到左?

时间:2014-02-17 15:41:17

标签: layout right-to-left avalonedit icsharpcode

我正在努力使avalonedit从右到左布局,以便支持从右到左的语言(例如阿拉伯语)

代码似乎太大而无法理解,我至少需要知道我的更改会在哪里?它的主要模块是什么,或者说明每个组件的一些图表/文档(除了源代码提供的4个图像之外)

我至少需要知道编辑器的基本组件是什么。谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

TextView类负责实际的文本呈现。文本行中的布局使用WPF TextFormatter完成(请参阅TextView.cs中的#region BuildVisualLine)。

AvalonEdit已经支持从左到右段落中的双向文本,因此如果你可以让WPF创建从右到左的段落,编辑器应该可以工作。

我认为改变VisualLineTextParagraphProperties.FlowDirection属性可能就足够了。

理想情况下,文本视图会使用TextView.FlowDirection的值,但在使用TextView.FlowDirection(镜像文本)时,我看到了一些奇怪的效果。不确定那是什么;我不熟悉WPF在从右到左的上下文中的工作方式(我猜有一些自动镜像功能?)。