title: Dependency Property assigned with value binding does not work
body: <p>I have a usercontrol with a dependency property.</p>
  
  <pre><code>public sealed partial class PenMenu : UserControl, INotifyPropertyChanged
  {
      public event PropertyChangedEventHandler PropertyChanged;
      protected void OnPropertyChanged(string propertyName)
      {
          if (PropertyChanged != null)
          {
              PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
          }
      }         
  
      public bool ExpandCollapse
      {
          get
          {
              return false;
          }
  
          set
          {
              //code
          }
      }
  public static readonly DependencyProperty ExpandCollapseProperty = DependencyProperty.Register("ExpandCollapse", typeof(bool), typeof(PenMenu), null);
  //some more code
  }
  </code></pre>
  
  <p>And I am assigning value in XAML page as:</p>
  
  <pre><code>&lt;Controls:PenMenu x:Name="penMenu" Opened="Menu_Opened" 
                           ExpandCollapse="{Binding PenMenuVisible}" /&gt;
  </code></pre>
  
  <p>But it is not hitting GET-SET part of ExpandCollapse property in the usercontrol.
  So I added bool to bool converter just to check what value is being passed with binding like:</p>
  
  <pre><code>&lt;Controls:PenMenu x:Name="penMenu" Opened="Menu_Opened" 
                           ExpandCollapse="{Binding PenMenuVisible, Converter={StaticResource booleanToBooleanConverter}}" /&gt;
  </code></pre>
  
  <p>And with breakpoint in Converter, I see the value being passed is correct.
  What is the possible reason it's not assigned to the Dependency Property?</p>
  
  <p>Also in XAML page if I say:</p>
  
  <pre><code>&lt;Controls:PenMenu x:Name="penMenu" Opened="Menu_Opened" 
                           ExpandCollapse="true"/&gt;
  </code></pre>
  
  <p>then it hits the GET-SET part of ExpandCollapse property in the usercontrol.
  I am stuck. This is weird. Please help. </p>