title: Textbox two way binding not triggering
body: <p>I have a tab control with 3 objects, 2 lists and a textbox. The text box is bound two way :</p>
  
  <pre><code>&lt;TabControl x:Name="tcTabs" ItemsSource="{Binding Rooms, UpdateSourceTrigger=PropertyChanged}" Margin="5" BorderThickness="1" IsSynchronizedWithCurrentItem="True"&gt;
      &lt;TabControl.ItemContainerStyle&gt;
          &lt;Style TargetType="TabItem"&gt;
              &lt;Setter Property="Header" Value="{Binding Name}" /&gt;
              &lt;Setter Property="ContentTemplate"&gt;
                  &lt;Setter.Value&gt;
                      &lt;DataTemplate&gt;
                          &lt;Grid&gt;
                              &lt;Grid.ColumnDefinitions&gt;
                                  &lt;ColumnDefinition Width="*" /&gt;
                                  &lt;ColumnDefinition Width="Auto"/&gt;
                              &lt;/Grid.ColumnDefinitions&gt;
                              &lt;Grid.RowDefinitions&gt;
                                  &lt;RowDefinition Height="*"/&gt;
                                  &lt;RowDefinition Height="22"/&gt;
                              &lt;/Grid.RowDefinitions&gt;
  
                              &lt;ListBox ItemsSource="{Binding ReceivedMessages}" DisplayMemberPath="Raw" Grid.Row="0" Grid.Column="0" BorderThickness="0" /&gt;
                              &lt;ListBox ItemsSource="{Binding Users}" DisplayMemberPath="Nick" Visibility="{Binding Type, Converter={StaticResource UserListVisibilityConverter}}" Grid.Row="0" Grid.Column="1" BorderThickness="1,0,0,0" BorderBrush="#FFBBBBBB" Width="130" /&gt;
                              &lt;TextBox Text="{Binding CurrentInput, Mode="TwoWay"}" Grid.Row="1" Grid.ColumnSpan="2" BorderThickness="0,1,0,0" BorderBrush="#FFBBBBBB" Height="22" /&gt;
                          &lt;/Grid&gt;
                      &lt;/DataTemplate&gt;
                  &lt;/Setter.Value&gt;
              &lt;/Setter&gt;
          &lt;/Style&gt;
      &lt;/TabControl.ItemContainerStyle&gt;
  &lt;/TabControl&gt;
  </code></pre>
  
  <p>Backing object :</p>
  
  <pre><code>public string CurrentInput
  {
      get
      {
          return _currentInput;
      }
      set
      {
          if (value != _currentInput)
          {
              _currentInput = value;
              OnPropertyChanged();
          }
      }
  }
  </code></pre>
  
  <p>Problem is, when I change the text and click another tab it does not update the backing field (does not even hit the setter), however if I change then click the listbox it does...</p>
  
  <p>Any reason for this odd behaviour?</p>