Windows Vista Forums

Binding a TreeView to a large dataset.
  1. #1


    Tom Guest

    Binding a TreeView to a large dataset.

    I have a large XML document that I'm binding to a TreeView for testing
    purposes. There are relatively few nodes at depth=1 so the tree is
    displayed quickly. However there are a lot of nodes at depth=2 (200-300
    per depth=1 node) and expanding the closed depth=1 nodes causes the UI
    to freeze whilst the binding occurs.

    As the freeze happens when I try to expand the node, I'm assuming that
    the TreeView is 'lazy' binding to the XML data.



    Here is the XAML (I'm setting the DataContext of the TreeView in code) :

    <HierarchicalDataTemplate DataType="section"
    ItemsSource="{Binding XPath=section}">
    <TextBlock Text="{Binding XPath=@description}"/>
    </HierarchicalDataTemplate>

    <TreeView Name="_sectionTree"
    ItemsSource="{Binding XPath=/sites/section}"
    BorderThickness ="0">

    I have a few questions.

    1) Is it the binding that is freezing the UI?
    2) Is there a better way to perform the binding so that the UI does not
    freeze?
    3) If not, are there any events that I can handle do give user feedback
    before and after the binding occurs? i.e. change the cursor or display
    a 'loading...' node.

    Cheers

    Tom.

      My System SpecsSystem Spec

  2. #2


    Jonathan MacCollum Guest

    RE: Binding a TreeView to a large dataset.

    Tom,
    I'm having a similar problem. I've got a ListBox templated with a
    HierarchicalDataTemplate. When I bind a couple of hundred items to the list
    it freezes up the UI, and when I un-bind those and bind a smaller subset, it
    takes just as long. However going from one small list of items to another
    small list of items, it does not freeze up the UI.

    Can anyone shed some light on this?

      My System SpecsSystem Spec

Binding a TreeView to a large dataset.

Similar Threads
Thread Thread Starter Forum Replies Last Post
Binding inside binding question Yoavo Avalon 0 03 Dec 2007
Binding to a Foreign Key Binding? -=B3N=- Avalon 0 14 Jun 2007
Binding Question (Binding in General) Jason Avalon 2 09 May 2007
Binding to a DataSet and related rows jmagaram Avalon 3 12 Oct 2006
Drag and Drop Treeview Items between 2 Treeview ProjectGKR Avalon 3 14 Mar 2006