Project Description
DepO is a visualizer for Microsoft Visual Studio that enables you to view Logical and Visual DependencyObject hierarchies, plus associated property values -- both normal and DependencyProperty-based -- when debugging WPF applications. DepO has been developed to be FAST because VS only allows visualizers to use a small amount of time per operation, including initialization of the visualizer's own UI. This means that heavier, more full-featured WPF Visualizers get repeatedly disabled by VS for taking too long (a pain when you are mid-way through debugging a complex issue).

The visualizer displays information about who set DependencyProperty values: whether locally, from a default style template, from inheritance, from parent templates, etc., and also how they were set and overridden: by Base Value (B), Markup Expression (E), Animation (A), and Coercion (C). To show overrides, a progressing value chain is displayed. For example, a value set by a combination of base value, markup expression (i.e. binding), and finally coercion will show as B->E->C meaning the property has a base value, was also set with an expression, and finally was coerced.

DepO_1.PNG

To 'use' this project, you must install the .dll (see Releases tab) in the appropriate directory for Visual Studio (restart Visual Studio if it's running):

Visual Studio 2008: C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger\Visualizers

To activate the visualizer, click on the small magnifying glass that appears beside any DependencyObject (or derived object) in your Locals window, etc. For example, Window1 in the typical WPF project derives from DependencyObject, and so you will see the small magnifying glass beside it when it is in the Locals window (it may be called 'this' if your breakpoint is in Window1.xaml.cs):

DepO_2.PNG

You can also activate the visualizer while debugging by hovering over any DependencyObject derived object in your code and clicking on the small magnifying glass that appears there.

Last edited Feb 25, 2008 at 2:26 PM by Dathan, version 20