title: Why does DependencyProperty override the normal property binding behavior?
body: <p>I occasionally ran into an issue. here is a simple example:</p>
  
  <p>Xaml Code:</p>
  
  <pre><code>&lt;Window x:Class="WPFProperties.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          Title="MainWindow" Height="350" Width="525"
          x:Name="root"&gt;
      &lt;Grid&gt;
          &lt;TextBox Text="{Binding Text,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,ElementName=root}"/&gt;
      &lt;/Grid&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>Code behind:</p>
  
  <pre><code>public partial class MainWindow : Window
  {
      public MainWindow()
      {
          InitializeComponent();
      }
  
      //// Using a DependencyProperty as the backing store for Text.  This enables animation, styling, binding, etc...
      //public static readonly DependencyProperty TextProperty =
      //    DependencyProperty.Register("Text", typeof(string), typeof(MainWindow), new UIPropertyMetadata(null));
  
      private string _text;
  
      public string Text
      {
          get { return _text; }
          set 
          {
              if (this._text == value) return;
              _text = value;
  
              this.DoSomething();
          }
      }
  
      private void DoSomething()
      {
          // Do Someting
      }
  }
  </code></pre>
  
  <p>Method DoSomething() can be invoked, when typing on the textbox. but, once i uncomment the dependency property "Text", it is never be called. </p>
  
  <p><strong>Note:</strong> I know the basic usage of dependency property.</p>