Chr*_*ian 5 wpf textbox richtextbox scrollviewer offset
我想将a的内容移动到内容的RichTextBox特定行.该RichTextBox提供方法ScrollToVerticalOffset从嵌入ScrollViewer.该方法记录在MSDN中,但未指定名为offset的参数的度量单位.类型是double.
a的VerticalOffset属性TextBox记录为与设备无关的单位(每单位1/96英寸).
所以我试着从字体大小计算偏移量.字体大小以像素为单位.得到的公式是
offset = fontSize * 96 / 72 * lineNumber;
Run Code Online (Sandbox Code Playgroud)
但这远远落后于所需的线.现在我正在使用这个计算:
offset = fontSize * lineNumber;
Run Code Online (Sandbox Code Playgroud)
它是否正确?
确实,问这个问题已经过去很长时间了,但仍然没有找到正确的答案!
我现在使用这段代码,这对我来说真的很有好处:
var offset = (lineNumber * (fontSize + 2)) - richTextBox.ActualHeight / 2;
richTextBox.ScrollToVerticalOffset(offset);
Run Code Online (Sandbox Code Playgroud)
如果您知道比这种方式更好的解决方案,请帮助我。
| 归档时间: |
|
| 查看次数: |
1416 次 |
| 最近记录: |