2010-04-13 2 views

ответ

6

Вы можете указать, когда изменяется значение VerticalOffset, добавив обработчик события ScrollViewer.ScrollChanged в ваш TextBox. Что-то вроде этого:

<TextBox AcceptsReturn="True" ScrollViewer.ScrollChanged="TextBox_ScrollChanged" /> 

TextBox использует ScrollViewer внутри, так что ScrollChanged событие будет пузыриться до TextBox (где вы можете справиться с этим). Аргументы события включают информацию о том, что изменилось, например VerticalChange (величина, которую элемент управления прокручивал по вертикали).

private void TextBox_ScrollChanged(object sender, ScrollChangedEventArgs e) { 
    System.Diagnostics.Debug.WriteLine(string.Format("************ {0}", e.VerticalChange)); 
} 
+0

Есть ли способ добавить обработчик в код? Я попытался сделать это: this.ScrollViewer.ScrollChangedEvent + = OnVerticalOffsetChanged; Но я получаю сообщение об ошибке. – Justin

+2

Вам нужно будет вызвать textBox.AddHandler (ScrollViewer.ScrollChanged, новый ScrollChangedEventHandler (this.TextBox_ScrollChanged)) – CodeNaked

+0

Спасибо, Том Гофф! – Justin

Смежные вопросы