Нам поможет класс DocumentAutomationPeer из System.Windows.Automation.Peers. Extension-метод для любого документа, отображаемого в DocumentViewer (и остальных просмотровщиках, включенных в состав WPF) приведён ниже.
public static class DocumentHelper
{
public static void FindText(this FrameworkContentElement document, string text, bool backward = false, bool ignoreCase = true)
{
var documentAutomationPeer = new DocumentAutomationPeer(document);
var textProvider = (ITextProvider)documentAutomationPeer.GetPattern(PatternInterface.Text);
if (textProvider != null)
{
var range = textProvider.DocumentRange;
if (range != null)
{
var textRangeProvider = range.FindText(text, false, true);
textRangeProvider.ScrollIntoView(true);
}
}
}
}
* This source code was highlighted with Source Code Highlighter.
Пользуясь случаем, передаю привет Alex Look. Спасибо тебе за идею для статьи.
Комментариев нет:
Отправить комментарий