WPF 中 TextBox 中的 ScrollToCaret 在哪里?

Where is ScrollToCaret in a TextBox in WPF?(WPF 中 TextBox 中的 ScrollToCaret 在哪里?)
本文介绍了WPF 中 TextBox 中的 ScrollToCaret 在哪里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm unable to find that function. Basically I have a multiline text box and when I perform a search, I highlight the result. But if the result is not within view, I would have to manually scroll down until I find the highlighted result, which beats the purpose of the "Find" functionality.

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

I don't want to use RichTextBox because I've encountered some performance issues with it.

推荐答案

你可以使用 GetLineIndexFromCharacterIndex 结合 ScrollToLine:

You could use GetLineIndexFromCharacterIndex in combination with ScrollToLine:

var selectionStart = x;
var selectionLength = y;
textBox.Select(selectionStart, selectionLength);
textBox.ScrollToLine(textBox.GetLineIndexFromCharacterIndex(textBox.SelectionStart));

这篇关于WPF 中 TextBox 中的 ScrollToCaret 在哪里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)