
Snoop - Viewing VisualTree WPF Applications
For almost a year now I’ve been using one wonderful open source utility for debugging WPF applications.
Snoop (not the most informative name for the program) allows you to see VisualTree WPF applications.
In general, the tools are few and the story will be short, but it is simply indispensable for debugging. It allows not only to understand where and which Margin / Padding adversely affects the position of the element, but also helps to understand the logic of building controls in wpf.
Main window

Magnifier window.
Open Snoop, select the one you need from the list of launched wpf applications and click Magnify (magnifying button).
A window with the contents of our application opens, you can zoom, move it ... well, etc.
There is a 3d view. along the 3 axis, the components are located relative to their position in the tree.

Properties and Events
Window Close the zoom window and click on the Snoop this application button (binoculars). And here a completely wonderful window opens.

On the left side is a tree of components.
If you hover over an element, then its previewer pops up.
On top is a combo box with a wood filter. Search by word and search for components with binding errors.
The right part shows the properties and events of the selected tree element.
A button with a multi-speaking name and no less informative picture shows / hides default properties.

Interesting features:
Properties
Allows you to see what RoutedEvents happened to the selected element. You can choose from the list of events we will follow.

Total: I
must admit, the utility is not very convenient, unfinished and for 1.5-2 years nothing new has appeared in it ... but often it is simply irreplaceable. :) it
comes with source in C # and C ++, which means you can write your own.
All in all, many thanks to Pete Blois . You can download it here .
Snoop (not the most informative name for the program) allows you to see VisualTree WPF applications.
In general, the tools are few and the story will be short, but it is simply indispensable for debugging. It allows not only to understand where and which Margin / Padding adversely affects the position of the element, but also helps to understand the logic of building controls in wpf.
Main window

Magnifier window.
Open Snoop, select the one you need from the list of launched wpf applications and click Magnify (magnifying button).
A window with the contents of our application opens, you can zoom, move it ... well, etc.
There is a 3d view. along the 3 axis, the components are located relative to their position in the tree.

Properties and Events
Window Close the zoom window and click on the Snoop this application button (binoculars). And here a completely wonderful window opens.

On the left side is a tree of components.
If you hover over an element, then its previewer pops up.
On top is a combo box with a wood filter. Search by word and search for components with binding errors.
The right part shows the properties and events of the selected tree element.
A button with a multi-speaking name and no less informative picture shows / hides default properties.
Interesting features:
- the selected item is highlighted in the wpf application itself
- You can select the desired item directly in the wpf application. Press Ctrl-Shift and drag the mouse in shape.
- If the property value changes, then it is highlighted yellow for a few seconds.
- Properties with an undefined value are highlighted in gray.
- According to the author, property values can be changed directly from Snoop ... but nothing has changed for me. (later I pick the source)
Properties
Allows you to see what RoutedEvents happened to the selected element. You can choose from the list of events we will follow.
Total: I
must admit, the utility is not very convenient, unfinished and for 1.5-2 years nothing new has appeared in it ... but often it is simply irreplaceable. :) it
comes with source in C # and C ++, which means you can write your own.
All in all, many thanks to Pete Blois . You can download it here .