2

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

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

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

4

1 回答 1

2

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

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

我认为改变VisualLineTextParagraphProperties.FlowDirection财产可能就足够了。

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

于 2014-02-17T23:07:18.800 回答