ScrollViewer: информировать об изменении ComputedHorizontalScrollBarVisibility

Мне нужно получать уведомление при изменении ComputedHorizontalScrollBarVisibility. К сожалению, для этого нет события. Есть ли способ сделать это? Может с наследством?


person Display Name    schedule 27.10.2011    source источник


Ответы (1)


http://msdn.microsoft.com/en-us/library/system.windows.controls.scrollviewer.scrollchanged(v=vs.85).aspx

В ScrollChanged установите флажок ComputedHorizontalScrollBarVisibility.

person sq33G    schedule 27.10.2011
comment
Спасибо. Я пытался заставить его работать с событием SizeChanged, но это работает намного лучше. Вот мой вариант использования . - person Mike Fuchs; 11.03.2013
comment
В ходе тестирования я обнаружил, что ComputedHorizontalScrollBarVisibility не всегда корректен. Я не знаю почему, но я думаю, что это как-то связано с тем, как обновляется макет, и порядком операций указанного обновления. Просто к вашему сведению, если вы идете по этой дороге. ComputedHorizontalScrollBarVisibility вполне может быть настроен как свернутый, даже если он действительно виден. - person Krythic; 23.07.2021
comment
После дальнейшего тестирования вышеуказанная ошибка не возникает с событием ScrollChanged, поэтому я рекомендую полагаться исключительно на это. - person Krythic; 23.07.2021