title: DataTrigger not firing when bound dependency property changes
body: <p>A <code>DataTrigger</code> exists within a <code>ControlTemplate</code></p>
  
  <pre><code>&lt;DataTrigger
      Binding="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, 
                Path=(ui:TreeViewItemHeader.IsDragTarget)}"
      Value="True"&gt;
      &lt;Setter TargetName="PART_Content" Property="Foreground" Value="Red" /&gt;
  &lt;/DataTrigger&gt;
  </code></pre>
  
  <p>The bound property, IsDragTarget, is an attached property which is coded in to a custom control class:</p>
  
  <pre><code>public static readonly DependencyProperty IsDragTargetProperty = DependencyProperty.RegisterAttached
          ("IsDragTarget", 
          typeof(bool), 
          typeof(TreeViewItemHeader),
          new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
  
  public static void SetIsDragTarget(DependencyObject self, bool value)
  {
      self.SetValue(IsDragTargetProperty, value);
  }
  
  public static bool GetIsDragTarget(DependencyObject self)
  {
      return (bool)self.GetValue(IsDragTargetProperty);
  }
  </code></pre>
  
  <p>The problem may be described that the <code>DataTrigger</code> only appears to resolve the value once, when the control is initialized. Updating the property value does not flip the DataTrigger.</p>
  
  <p>Troubleshooting performed:</p>
  
  <ul>
  <li>A blank <code>IValueConverter</code> "return value" was added to the binding; the <code>IValueConverter.Convert</code> method is being called only once.</li>
  <li>Debug stepping was performed to verify that the attached property value is changed.</li>
  <li>The <code>DataTrigger.Value</code> property was set to <code>False</code> - the initial value of the attached property; the Setters fired once when the control intialized. Subsequent changes to the property did not fire the DataTrigger.</li>
  <li>The Visual Studio Output window shows no binding expression warnings.</li>
  </ul>