I’m wondering if there are 200 layouts, one for each new node.
How are you implementing that “Expand All”? You should be modifying the model within a single transaction.
So you are confirming that your “Expand All” command is only modifying the model in a single transaction, yes?
Which version of GoXam on which platform are you using?
Which layout are you using, and with what properties?
How complicated is your node DataTemplate?
Have you read the post: Performance considerations?
Is this what you are quoting? If so, I’m not sure that the virtualizing example code provided there will help you, because virtualization can only occur if we know ahead of time where each node should be positioned and how big each node is. That doesn’t sound like the situation you have, where you are depending on a layout to position all of the nodes. Layout has to know the size of each node before it can work, and no one can know the size of each node until the Node and all of its elements has been created and measured and arranged.
However, the first part of that post, not about virtualization, should apply to all applications. In fact, most of it isn’t even specific to GoXam.