WPF中TextBox中的ScrollToCaret在哪里?
我找不到那个function。 基本上我有一个多行文本框,当我执行搜索时,我突出显示结果。 但是如果结果不在视图中,我将不得不手动向下滚动,直到找到突出显示的结果,这超出了“查找”function的目的。
我不想使用RichTextBox,因为我遇到了一些性能问题。
您可以将GetLineIndexFromCharacterIndex
与ScrollToLine
结合使用:
var selectionStart = x; var selectionLength = y; textBox.Select(selectionStart, selectionLength); textBox.ScrollToLine(textBox.GetLineIndexFromCharacterIndex(textBox.SelectionStart));
我找到了一种稍微简单的方法。
textbox.ScrollToLine(textbox.LineCount – 1);
ScrollToLine对我来说不够准确。 我的文本框启用了换行,因此Line Index不可靠。 相反,我使用了这个:
textBox.CaretIndex = selectionStart; textBox.ScrollToEnd(); textBox.Select(selectionStart, selectionLength);
基本上,ScrollToEnd执行滚动到插入符号。