Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
245
XamDataTree Virtualizing Behavior
posted

Hello!

Do the standard WPF virtualizing properties have any affect at all on the XamDataTree?

VirtualizingStackPanel.IsVirtualizing="False"                 // True, False
VirtualizingStackPanel.VirtualizationMode="Standard"    // Standard, Recycling

?

Are there any IG-specific properties that affect the XamDataTree virtualizing behavior?
If so, where are these documented?

Thanks,
Mark

Parents
No Data
Reply
  • 245
    posted

    The reason I've posted this question is the following:

    I built the XamDataTree into our application, replacing the Microsoft TreeView. In our usage of the Tree control, several things are important:
    1) Ability to load large data-sets (possibly several hundred thousand lines) and to do this quickly
    2) Ability to use various scrolling methods (pull down on the scroll-bar, select an item and use key-down/ up) to browse the data quickly

    What we are finding is the following:
    Point 1) is seemingly happening quite quickly.
    Point 2) has problems:

    When we load a new data-set, with about 2500 lines, the scroll-bar height is very large:

    It leads the user to believe that there are only a few more lines to see!
    Then, when I pull down down on the scroll bar, trying to reach the last line, the elements are scrolled into view but the user does not ever get a visual cue that she is able to reach the end; she has to continually pull down on the scroll-bar, over and over again, to eventually reach the end:

    Only after pulling down on the scroll bar the first time does the height of the scroll bar does adjust itself!

    In summary, the problems are:
    1) Initially, the scroll-bar height does not at all reflect the number of lines in the data-set
    2) The user must continually pull down on the scroll bar to eventually reach the end, the scrolling is definitely not "smooth". You have to scroll down, let go of the scroll-bar, get it again, scroll down again, and this many times to reach the end of the data-set which only has 2500 lines.

    Here is my XAML, nothing special:

            <Grid Grid.Row="2">
                <View:RsCustomIgTreeView x:Name="TreeViewTree"
                    Style="{StaticResource XamDataTreeStyle}"
                    ItemsSource="{Binding RootViewModel}"
                    ActiveNodeIndicatorStyle="{StaticResource ActiveNodeIndicatorStyle}"
                    NodeStyle="{StaticResource NodeStyle}"
                    SelectedItem="{Binding SelectedViewModelElement, Mode=TwoWay}"
                    VirtualizingStackPanel.IsVirtualizing="True"                       // ? has any affect ?
                    VirtualizingStackPanel.VirtualizationMode="Recycling"      // ? has any affect ?
                    >

                    <ig:XamDataTree.GlobalNodeLayouts>
                        <ig:NodeLayout Key="Node" TargetTypeName="DecodedElementViewModel" DisplayMemberPath="Name" IsExpandedMemberPath="IsExpanded">
                            <ig:NodeLayout.ExpandedIconTemplate>
                                <DataTemplate>
                                    <Image Source="{Binding Data.Image}" />
                                </DataTemplate>
                            </ig:NodeLayout.ExpandedIconTemplate>
                            <ig:NodeLayout.CollapsedIconTemplate>
                                <DataTemplate>
                                    <Image Source="{Binding Data.Image}" />
                                </DataTemplate>
                            </ig:NodeLayout.CollapsedIconTemplate>
                        </ig:NodeLayout>
                    </ig:XamDataTree.GlobalNodeLayouts>
                </View:RsCustomIgTreeView>
            </Grid>

    Thanks,
    Mark

Children