Я хотел бы создать следующее поведение в ScrollViewer
, которое обертывает ContentControl
:
Когда высота ContentControl
возрастает, ScrollViewer
должен автоматически прокручиваться до конца. Это легко достичь, используя ScrollViewer.ScrollToEnd()
.
Однако, если пользователь использует полосу прокрутки, автоматическая прокрутка больше не должна произойти. Это похоже на то, что происходит в окне вывода VS, например.
Проблема заключается в том, чтобы знать, когда прокрутка произошла из-за прокрутки пользователя и когда это произошло, потому что размер содержимого изменился. Я попытался сыграть с ScrollChangedEventArgs
из ScrollChangedEvent
, но не смог заставить его работать.
В идеале я не хочу обрабатывать все возможные события мыши и клавиатуры.