任何人都可以帮助我如何使一个TreeView滚动? 必须有一个简单的方法,但我不能让它在我的代码工作。 经过多次失败的尝试,我现在有这样的事情:
<ScrollViewer CanContentScroll="True">
<TreeView ...>
</TreeView>
</ScrollViewer>
我看到一个“禁用”滚动条,但是当树视图的笔记要比屏幕高度大,没有滚动被激活。
任何人都可以帮助我如何使一个TreeView滚动? 必须有一个简单的方法,但我不能让它在我的代码工作。 经过多次失败的尝试,我现在有这样的事情:
<ScrollViewer CanContentScroll="True">
<TreeView ...>
</TreeView>
</ScrollViewer>
我看到一个“禁用”滚动条,但是当树视图的笔记要比屏幕高度大,没有滚动被激活。
该TreeView
控件本身包含ScrollViewer
在其模板。 你应该能够只使用一个TreeView
合适的宿主内(不是StackPanel
!)。
树视图包含的ScrollViewer,但@Carlo说,TreeView的或它的容器需要有一个高度。 另外,TreeView中应以不给其子女给予无限高度的容器托管(即一个StackPanel我认为这是什么@Kent被意)。 所以把它放在一个网格内,没有必要给网格或树视图明确的高度,你应该得到的滚动条。
你有你的窗口上明确设置的高度? 如果你想看到滚动条的东西必须定义TreeView控件或它的容器的高度,否则将不知道什么时候需要显示滚动条。
例:
<Window x:Class="StackOverflowTests.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" x:Name="window1" Height="300" Width="300">
<Grid>
<TreeView Name="treeView1" Height="150" VerticalAlignment="Top">
<TreeViewItem Header="Root" IsExpanded="True">
<TreeViewItem Header="Item 1"></TreeViewItem>
<TreeViewItem Header="Item 2"></TreeViewItem>
<TreeViewItem Header="Item 3"></TreeViewItem>
<TreeViewItem Header="Item 4"></TreeViewItem>
<TreeViewItem Header="Item 5"></TreeViewItem>
<TreeViewItem Header="Item 6"></TreeViewItem>
<TreeViewItem Header="Item 7"></TreeViewItem>
<TreeViewItem Header="Item 8"></TreeViewItem>
<TreeViewItem Header="Item 9"></TreeViewItem>
<TreeViewItem Header="Item 10"></TreeViewItem>
<TreeViewItem Header="Item 11"></TreeViewItem>
<TreeViewItem Header="Item 12"></TreeViewItem>
<TreeViewItem Header="Item 13"></TreeViewItem>
<TreeViewItem Header="Item 14"></TreeViewItem>
<TreeViewItem Header="Item 15"></TreeViewItem>
<TreeViewItem Header="Item 16"></TreeViewItem>
<TreeViewItem Header="Item 17"></TreeViewItem>
<TreeViewItem Header="Item 18"></TreeViewItem>
<TreeViewItem Header="Item 19"></TreeViewItem>
<TreeViewItem Header="Item 20"></TreeViewItem>
<TreeViewItem Header="Item 21"></TreeViewItem>
<TreeViewItem Header="Item 22"></TreeViewItem>
<TreeViewItem Header="Item 23"></TreeViewItem>
<TreeViewItem Header="Item 24"></TreeViewItem>
<TreeViewItem Header="Item 24"></TreeViewItem>
</TreeViewItem>
</TreeView>
</Grid>
</Window>
这是给予TreeView的固定高度和宽度的简单的事情。 也许把它放在一个边界。 另外,我有我的项目内容的MaxWidth。 例如,下面是我的主窗口下的两个堆叠面板和它的作品(我使用MahApps地铁控制):
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Border BorderThickness="2" BorderBrush="DarkGoldenrod" Margin="4">
<TreeView x:Name="TreeView" Width="400" Height="800" Focusable="True" VerticalAlignment="Top">
</TreeView>
</Border>
</StackPanel>
相反树视图可以使用扩展。 它可以scoll带滚动视图正确这项工作同树视图。
怎么样的高度和宽度只设置以固定的金额? 我知道这可能不是每个人的答案。