Думаю, я решил это, проблема была связана с тем, как я отредактировал столбцы древовидной структуры, я использовал статическую сетку внутри шаблона стиля древовидной структуры.Когда я понял, что если я изменил свой пользовательский вид дерева на стандартный вид списка, прокрутка сработала.Итак, я извлек стили для стандартного списка и внес некоторые изменения в стиль древовидной структуры, и это сработало, теперь заголовок древовидной структуры остается сверху, а полоса прокрутки для древовидной структуры отображается вместо полосы прокрутки для элемента управления содержимым
В
<Style TargetType="{x:Type TreeView}".....
добавлено
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" BorderBrush="{TemplateBinding Border.BorderBrush}" Name="Bd" SnapsToDevicePixels="True">
<ScrollViewer Style="{DynamicResource
{x:Static GridView.GridViewScrollViewerStyleKey}}">
<ItemsPresenter />
</ScrollViewer>
</Border>
для шаблона управления.И в
<Style x:Key="{x:Static GridView.GridViewScrollViewerStyleKey}" TargetType="ScrollViewer">
я добавил
<ScrollViewer DockPanel.Dock="Top"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"
Focusable="false">
<GridViewHeaderRowPresenter Name="hrp" Columns="{StaticResource gvcc}"
ColumnHeaderContainerStyle=
"{StaticResource MyHeaderStyle}" />
</ScrollViewer>
Так что я могу определять свои столбцы вне стиля, так как древовидная структура не имеет свойства .view
Надеюсь, это кому-нибудь поможет испасибо Рэйчел за ваши усилия