У меня возникли проблемы с получением AvalonEdit TextEditor
, чтобы перейти к определенной строке. Поведение ScrollTo()
- это просто прокрутка, пока эта линия не окажется в середине представления. Я пробовал много различных методов поиска по всему Интернету и SO как получить смещение сAvalonEdit прокрутите до строки
double visualTop = textEditor.TextArea.TextView.GetVisualTopByDocumentLine(line);
Но каждый из них имеет свои собственные проблемы. Например, в приведенной выше строке я получал исключения с TextView.VisualLines
.
Это работает для меня, но я должен вычесть 1 из номера строки. Кроме того, я думаю, что лучше использовать пользовательский интерфейс, чтобы установить смещение каретки в линию, к которой вы прокрутили. –
Это определенно зависит от вашего приложения, но мне нравится идея каретки. В моем случае, однако, у меня было два редактора, которые я хотел немного синхронизировать (вроде как создавать плавающие заголовки с данными в текстовом файле), поэтому окно, которое я выполнял автопрокрутку, было только для чтения и не требовалось. – zaknotzach