layout - AvalonEdit:如何使其从右到左?

标签 layout right-to-left avalonedit icsharpcode

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

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

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

最佳答案

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

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

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

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

关于layout - AvalonEdit:如何使其从右到左?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21833248/

相关文章:

macos - Cocoa下开发截屏程序遇到的问题

wpf - 无法弄清楚为什么某些控件被剪裁

Java 蜗牛线布局管理器

c# - Avalonedit 如何获得顶部可见行

wpf - AvalonEdit - 用于 JSON 突出显示的 xshd

c# - 使用 MVVM 在 WPF 中绑定(bind)失败

android - Holo 主题使我的按钮更大

delphi - 使用 DLL 的应用程序中 System.pas 中的全局变量

html - Python Sphinx 中的 RTL 支持

html - 将有序列表中的希伯来字母右对齐