代码之家  ›  专栏  ›  技术社区  ›  George

WPF TreeView with isvirtualization=“true”在更改焦点和滚动时跳转

  •  13
  • George  · 技术社区  · 16 年前

    我做了一个简单的例子来重现我在 TreeView 树状视图 Focus ,然后在 树状视图 再一次,名单开始到处乱窜。

    VirtualizingStackPanel.IsVirtualizing="True" . 这是已知的问题吗?有工作吗?

    所以要再现:

    1. 向下滚动到列表底部
    2. 单击顶部的文本框。
    3. 选择列表中的项目30

    更新: 我已经在.Net 4.0beta中测试过了,这个问题不会发生。什么地方有热修复程序吗?


    <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" />
                            <TreeViewItem Header="Item 9" />
                            <TreeViewItem Header="Item 10" />
                            <TreeViewItem Header="Item 11" />
                            <TreeViewItem Header="Item 12" />
                            <TreeViewItem Header="Item 13" />
                            <TreeViewItem Header="Item 14" />
                            <TreeViewItem Header="Item 15" />
                            <TreeViewItem Header="Item 16" />
                            <TreeViewItem Header="Item 17" />
                            <TreeViewItem Header="Item 18" />
                            <TreeViewItem Header="Item 19" />
                            <TreeViewItem Header="Item 20" />
                            <TreeViewItem Header="Item 21" />
                            <TreeViewItem Header="Item 22" />
                            <TreeViewItem Header="Item 23" />
                            <TreeViewItem Header="Item 24" />
                            <TreeViewItem Header="Item 25" />
                            <TreeViewItem Header="Item 26" />
                            <TreeViewItem Header="Item 27" />
                            <TreeViewItem Header="Item 28" />
                            <TreeViewItem Header="Item 29" />
                            <TreeViewItem Header="Item 30" />
                        </TreeViewItem.Items>                    
                    </TreeViewItem>
                </TreeView.Items>
            </TreeView>
        </Grid>
    </Window>
    

    1 回复  |  直到 15 年前
        1
  •  1
  •   Vladislav Rastrusny    13 年前

    嗯,看起来像个虫子 plenty of hotfixes

    推荐文章