我是 SilverLight 4 的新手,我对 TreeView 控件的行为有疑问。
我希望能够在 TreeView 中垂直滚动,但只有当我将鼠标悬停在项目上时滚动才有效。滚动条是可见的并且可以完美地使用它但是当我的鼠标在 TreeView 内但不在任何 TreeView 项目上时,TreeView 不会滚动。有没有什么办法解决这一问题?或者,如果有人知道任何免费或专有控件,我很乐意知道。
注意:将 TreeView 放在 ScrollingViewer 中是可行的,但它会弄乱 TreeView 的样式。如果可能的话,我也不想使用 ScrollViewer。
谢谢
如果有人想尝试一下,这里是代码:
<UserControl x:Class="TreeViewScrollingTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400"xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">
<Grid x:Name="LayoutRoot" Background="White">
<sdk:TreeView x:Name="treeView1" Height="200">
<sdk:TreeViewItem Header="Header 001">
<TextBlock>Test 001</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 002">
<TextBlock>Test 002</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 003">
<TextBlock>Test 003</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 004">
<TextBlock>Test 004</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 005">
<TextBlock>Test 005</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 006">
<TextBlock>Test 006</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 007">
<TextBlock>Test 007</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 008">
<TextBlock>Test 008</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 009">
<TextBlock>Test 009</TextBlock>
</sdk:TreeViewItem>
<sdk:TreeViewItem Header="Header 010">
<TextBlock>Test 010</TextBlock>
</sdk:TreeViewItem>
</sdk:TreeView>
</Grid>
</UserControl>
最佳答案
使用 Lee Campbell 博客文章中的提示:http://leecampbell.blogspot.ch/2009/01/horizontal-stretch-on-treeviewitems.html
我修改了默认的列定义,现在 TreeViewItems 至少正确地拉伸(stretch)到 TreeView 的整个宽度。现在 TreeView 控件意识到我的鼠标光标位于 TreeViewItems 上,滚动问题也消失了。
关于silverlight - Silverlight 4 中 TreeView 的滚动行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13561326/