Skip to content

TreeView Virtualization

Kirill Osenkov edited this page May 16, 2017 · 1 revision

The main treeview is not virtualized by default: https://github.com/KirillOsenkov/MSBuildStructuredLog/blob/858278ed1b3edea91892e3dd0fa7dba31719f0dc/src/StructuredLogViewer/Controls/BuildControl.xaml#L71

The reason being is that we run into an intermittent hang in WPF where it enters a neverending layout cycle. Even though the bug is quite rare running into it is unpleasant enough that I've turned virtualization off. The bug has been fixed in a newer version of WPF but since we can't guarantee that the users have migrated to the new .NET Framework we can't turn it on.

I'm planning on adding a switch to enable virtualization through the UI so the users have a chance to benefit from virtualization at a small risk of hanging the UI randomly.