title: Two way binding for TextBox
body: <p>This question was asked here for thousands times.
  But really, none of your examples and answers works for me.
  So let me show you my code.</p>
  
  <pre><code>public class PlayList : INotifyPropertyChanged{
      public event PropertyChangedEventHandler PropertyChanged;
  
      public void OnPropertyChanged(string name) {
          var handler = PropertyChanged;
          if (handler != null) {
              PropertyChanged(this, new PropertyChangedEventArgs(name));
          }
      }
  
      private string _dl;
      public string DriveLetter {
          get { return _dl; }
          set {
              if (value != _dl) {
                  _dl = value;
                  OnPropertyChanged("DriveLetter");
              }
          }
      }
  }
  
  public partial class MainWindow : Window {
      public PlayList playlist = new PlayList();
  
      private void Window_Loaded(object sender, RoutedEventArgs e) {
          Binding bind = new Binding("DriveLetter");
          bind.Source = this.playlist;
          bind.Mode = BindingMode.TwoWay;
          bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
          textBox1.SetBinding(TextBlock.TextProperty, bind);
  
          this.playlist.DriveLetter = "A";
      }
  }
  </code></pre>
  
  <p>Ofcourse WPF ignores this binding (nothing changes when I type in textbox, and nothing changes when I change playlist.DriveLetter property.</p>
  
  <p>Debugger says, that PropertyChanged handler is not null</p>
  
  <pre><code>{Method = {Void OnPropertyChanged(System.Object, System.ComponentModel.PropertyChangedEventArgs)}}
  </code></pre>
  
  <p>So, any ideas what I am doing wrong. (I do not belive that WPF is wrong)?</p>
  
  <p>Thanks in advance!</p>