silverlight - Silverlight 4 中 TreeView 的滚动行为

标签 silverlight treeview scroll

我是 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/

相关文章:

javascript - 我应该如何将 Svelte Reactivity 与 DOM getElementById 一起使用?

javascript - 禁用滚动但保持栏可见

c# - 架构...幻灯片

silverlight - 在代码中创建 Silverlight DataTemplate

php - MYSQL:创建查询以显示条目的父级/层次结构(面包屑)

asp.net - Foreach无法对方法组进行操作

c# - wcf https ssl 中的服务端点出错。找不到与具有绑定(bind) WebHttpBinding 的端点的方案 http 匹配的基址

silverlight - 将特定 ID 传递给 MVVM

java - 使用 TreeItem<Label> 禁用根 JavaFX TreeView<Label> 的子级上的上下文菜单

css - 水平滚动父 Div 时使子 DIV 保持固定