小编Geo*_*rge的帖子

更改焦点和滚动时,带有IsVirtualizing ="true"的WPF TreeView会跳转

我已经做了一个简单的例子来重现我遇到的问题TreeView.如果我选择了一个项目TreeView,向下滚动,更改Focus,然后TreeView再次选择一个项目,列表开始跳转.

只有我有这种情况才会发生VirtualizingStackPanel.IsVirtualizing="True".这是一个已知的问题吗?有工作吗?

所以重现:

  1. 在列表中选择项目1.
  2. 向下滚动到列表底部
  3. 单击顶部的TextBox.
  4. 在列表中选择项目30

我正在使用.Net 3.5 SP1,我已经尝试过64位XP和Vista.我没有在其他环境上尝试过.

更新: 我已经在.Net 4.0 Beta中测试过,但问题并未发生.某处有修补程序吗?


<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <TextBox Grid.Row="0"></TextBox>

        <TreeView Grid.Row="1"
                  VirtualizingStackPanel.IsVirtualizing="True"
                  VirtualizingStackPanel.VirtualizationMode="Standard"
                  >          
            <TreeView.Items>
                <TreeViewItem Header="Header 1" IsExpanded="True">
                    <TreeViewItem.Items>
                        <TreeViewItem Header="Item 1" />
                        <TreeViewItem Header="Item 2" />
                        <TreeViewItem Header="Item 3" />
                        <TreeViewItem Header="Item 4" />
                        <TreeViewItem Header="Item 5" />
                        <TreeViewItem Header="Item 6" />
                        <TreeViewItem Header="Item 7" />
                        <TreeViewItem Header="Item 8" …
Run Code Online (Sandbox Code Playgroud)

wpf treeview scroll focus virtualizingstackpanel

13
推荐指数
1
解决办法
3088
查看次数

标签 统计

focus ×1

scroll ×1

treeview ×1

virtualizingstackpanel ×1

wpf ×1