title: Data Binding / PropertyChanged is null
body: <p>Ok, I'm lost. I'm searching since yesterday why my databinding doesn't work as expected.
  As I'm new to WPF and also to MVVM it would be understandable if I would not use the same approach on the same project with 2 other views.</p>
  
  <p>The essential configuration is that I have 3 views, for all of them I set the DataContext in the MainWindows-Constructor to the responsible ViewModel.</p>
  
  <p>The view model itself does not implement IPropertyChanged but the model has a few nested objects which do.</p>
  
  <p>I bind with the following XAML:</p>
  
  <pre><code>&lt;TextBox Grid.Column="1" Grid.Row="0" Margin="1"&gt;
                  &lt;TextBox.Text&gt;
                      &lt;Binding Path="Model.InsertLine.Destination.Value" UpdateSourceTrigger="PropertyChanged"&gt;
                          &lt;Binding.ValidationRules&gt;
                              &lt;local:MinMaxLengthValidatonRule Min="7" Max="7"/&gt;
                          &lt;/Binding.ValidationRules&gt;
                      &lt;/Binding&gt;
                  &lt;/TextBox.Text&gt;
              &lt;/TextBox&gt;
  </code></pre>
  
  <p>InsertLine has PropertyChanged:</p>
  
  <pre><code>    public TLTMoveULLine InsertLine
      {
          get { return _insertline; }
          internal set
          {
              _insertline = value;
              if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("InsertLine"));
          }
      }
  </code></pre>
  
  <p>The general binding to Destination and Unit works. As does the validation.</p>
  
  <p>However I do at some point in time set a new insertline, after it has been inserted into an ObeservableCollection (_document.Lines). What I expect to happen (and what does happen in the 2 other views) is that the textbox get's cleared.</p>
  
  <pre><code>    public void AddLine()
      {
          _document.Lines.Add(InsertLine);
          TLTMoveULLine newline = new TLTMoveULLine();
  
          newline.Destination.Value = InsertLine.Destination.Value;
          newline.Unit.Value = "";
  
          InsertLine = newline;
      }
  </code></pre>
  
  <p>The property on InsertLine get's called, however the PropertyChanged delegate is null. </p>
  
  <p>Does anybody have an idea why it's null? The same approach works with 2 separate views, but not with this one...</p>
  
  <p>Or do I have a wrong idea and there is a better way to do it?</p>