wpf - 从 WPF RichTextBox 中的行号计算 ScrollToVerticalOffset 的偏移量

标签 wpf textbox richtextbox offset scrollviewer

我想移动一个 RichTextBox 的内容到内容的特定行。 RichTextBox提供方法ScrollToVerticalOffset来自嵌入式 ScrollViewer .该方法记录在MSDN中,但名为offset的参数的度量单位不是specified .类型是 double .

一个 VerticalOffset TextBox 的属性记录为与设备无关的单位(每单位 1/96 英寸)。

所以我试图计算字体大小的偏移量。字体大小以像素为单位。结果公式是

offset = fontSize * 96 / 72  *  lineNumber;

但这远远落后于所需的行。现在我正在使用这个计算:
offset = fontSize * lineNumber;

这样对吗?

最佳答案

确实,问这个问题已经很久了,但仍然没有找到正确的答案!!

我现在使用了这段代码,这对我来说真的很好:

var offset = (lineNumber * (fontSize + 2)) - richTextBox.ActualHeight / 2;
richTextBox.ScrollToVerticalOffset(offset);

如果您比这种方式更了解一种解决方案,请帮助我。

关于wpf - 从 WPF RichTextBox 中的行号计算 ScrollToVerticalOffset 的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333168/

相关文章:

c# - WPF : Assigning to RichTextBox. 文档极慢(7 分钟!)

c# - 如何在 wpf 的 richtextbox 中禁用 ctrl+A 和 ctrl+c?

wpf - 如何将 WPF DataGridRow 事件与 Interaction.Triggers/MVVM EventToCommand 结合使用

c# - 文本框的两种方式绑定(bind)

wpf - 如何将 View 绑定(bind)到使用参数实例化的 View 模型?

html - 为什么在浏览器中 150 + 150 不等于 300?

javascript - 0x800a138a - JavaScript 运行时错误 : Function expected

c# - 如何获取 RichTextBox 控件中的当前行?

c# - 使用 WPFtoolkit 的多系列图表

c# - 在 Web 应用程序中使用 WPF 在内存中创建 3D 视觉对象。适用于 Cassini,不适用于 IIS