title: Is there a good tool for debugging XAML's databinding behavior / errors at runtime?
body: <p>WPF is a great toolset, and XAML databinding is very powerful, but I've often run into difficulty arising from its transparency: It can be tough to debug a databinding failure when no errors are thrown.</p>
  
  <p>For example, I recently had to change a <code>Style</code> declaration like this:</p>
  
  <pre><code>&lt;DataGrid.RowStyle&gt;
      &lt;Style&gt;
          &lt;Style.Triggers&gt;
              &lt;DataTrigger Binding="{Binding TestProperty}" Value="False"&gt;
                  &lt;Setter Property="DataGridRow.Background" Value="Red"/&gt;
              &lt;/DataTrigger&gt;
          &lt;/Style.Triggers&gt;
      &lt;/Style&gt;
  &lt;/DataGrid.RowStyle&gt;
  </code></pre>
  
  <p>Into this:</p>
  
  <pre><code>&lt;DataGrid.RowStyle&gt;
      &lt;Style&gt;
          &lt;Style.Triggers&gt;
              &lt;DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.TestProperty}" Value="False"&gt;
                  &lt;Setter Property="DataGridRow.Background" Value="Red"/&gt;
              &lt;/DataTrigger&gt;
          &lt;/Style.Triggers&gt;
      &lt;/Style&gt;
  &lt;/DataGrid.RowStyle&gt;
  </code></pre>
  
  <p>In order for the DataGridRow property to be affected. It would be incredibly helpful to see, at design- or run-time, what the implications of binding to different sources and <code>RelativeSource</code>s would be. </p>
  
  <p>Do any such tools / techniques exist?</p>