所以我的XAML中有一个TreeView控件。它工作正常。如果我将树视图扩展为大于它所驻留的用户控件,我会得到一个滚动条,这很好。但是,在这个用户控件里面我想要一些其他的东西。所以我将树视图放在一个堆栈面板中,其他一些东西,这次我没有得到滚动条,如果树视图扩展到大于用户控件的位置。
这是其他人遇到过的问题,是否有解决方法?
答案 0 :(得分:2)
将您的stackpanel嵌入ScrollViewer:stackoverflow.com/a/6250287/7517676。您可能还必须根据需要显式设置VerticalScrollBarVisibility和HorizontalScrollBarVisibility。 这是一个代码示例:
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel ... />
</ScrollViewer>
答案 1 :(得分:0)
基于 this answer,StackPanel 不是 TreeView 的正确容器,但 Grid 是。因此,这将启用在 TreeView 内通过鼠标和滚动条滚动:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Label>Some descriptive label.</Label>
<TreeView Grid.Row="1" ItemsSource="{Binding SomeSource, Mode=OneWay}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:MyNodeType}" ItemsSource="{Binding Children}">
<Label Content="{Binding NodeName}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Grid>