Skip to content

Migrate Document Outline to Fluent TreeView#82761

Draft
davkean wants to merge 1 commit intodotnet:mainfrom
davkean:dev/davkean/fluent-document-outline
Draft

Migrate Document Outline to Fluent TreeView#82761
davkean wants to merge 1 commit intodotnet:mainfrom
davkean:dev/davkean/fluent-document-outline

Conversation

@davkean
Copy link
Member

@davkean davkean commented Mar 14, 2026

Migrate Document Outline to Fluent TreeView

The Document Outline tool window used a custom VirtualizingTreeView subclass of the standard WPF TreeView that worked around a WPF automation peer bug. That bug was fixed in 2022 (dotnet/wpf#7115) and the fix ships in VS's app-local WPF, making the workaround dead code.

This PR:

  • Replaces VirtualizingTreeView with the Fluent TreeView from Microsoft.VisualStudio.Shell.Controls
  • Deletes VirtualizingTreeView.cs (the NRE in Automation Peers wpf#122 workaround is no longer needed)
  • Applies the Fluent style to the SearchControl via SearchControlToolBarStyleKey
  • Simplifies the XAML by removing the manual selection indicator, SystemColors brush overrides, and old themed styles that the Fluent TreeView handles natively

Cowritten with Copilot

@dotnet-policy-service dotnet-policy-service bot added Community The pull request was submitted by a contributor who is not a Microsoft employee. Needs UX Triage labels Mar 14, 2026
- Replace VirtualizingTreeView with Fluent TreeView from Microsoft.VisualStudio.Shell.Controls
- Remove WPF dotnet#122 workaround (VirtualizingTreeView.cs) - fix shipped in VS app-local WPF
- Fluentize SearchControl with SearchControlToolBarStyleKey
- Simplify XAML: remove manual selection indicator, SystemColors brush overrides, and old themed styles
@davkean davkean force-pushed the dev/davkean/fluent-document-outline branch from 68b383f to 1f22a46 Compare March 15, 2026 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-IDE Community The pull request was submitted by a contributor who is not a Microsoft employee. Needs UX Triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant