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.


