Я не думаю, что ни одно из ваших требований не исключает использование ScrollViewer
в шаблоне TreeView
. Возможно, вам придется изменить шаблон TreeView
для достижения ваших целей.
Это также проливает свет на то, почему ваша прокрутка не работает должным образом. Вы фактически получили ScrollViewer
около ScrollViewer
. Для этого вам нужно либо удалить ScrollViewer из шаблона TreeView, либо отключить его:
<TreeView ScrollViewer.VerticalScrollBarVisibility="Disabled" ...>
Тем не менее, я думаю, что лучшим вариантом в вашем случае может быть изменение шаблона / стиля самого TreeView
.