WPF TextBox автоматически прокручивает курсор в поле зрения, когда фокусируется

StackOverflow https://stackoverflow.com/questions/1426224

Вопрос

Я делаю простую программу просмотра журналов, которая состоит из большого TextBox , который показывает файл, и DispatchTimer , который обновляет TextBox время от времени, устанавливая его свойство Text .

Всякий раз, когда фокус устанавливается на TextBox , он автоматически прокручивается до места, где находится курсор, даже когда я явно выдаю ScrollToEnd () на нем , (В этом случае пользовательский интерфейс отображает полосу прокрутки «прыжок» с конца обратно в положение курсора).

Как я могу заставить TextBox сохранять текущее положение прокрутки и игнорировать положение курсора?

Это было полезно?

Решение

Для прокрутки лучше использовать ScrollViewer

 <ScrollViewer HorizontalScrollBarVisibility="Auto" Height="80">
   <TextBlock Name="debugLog" />
 </ScrollViewer>

Предполагается, что журнал недоступен для редактирования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top