WPF中TextBox中的ScrollToCaret在哪里?

我找不到那个function。 基本上我有一个多行文本框,当我执行搜索时,我突出显示结果。 但是如果结果不在视图中,我将不得不手动向下滚动,直到找到突出显示的结果,这超出了“查找”function的目的。

我不想使用RichTextBox,因为我遇到了一些性能问题。

您可以将GetLineIndexFromCharacterIndexScrollToLine结合使用:

 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执行滚动到插入符号。