title: Multibinding not working on TextBox.Text
body: <p>I have a MultiBinding that is not working on TextBox.Text. I have the same code that is binding properly to Value of <a href="http://wpftoolkit.codeplex.com/" rel="nofollow noreferrer">Extended WPF Toolkit</a>'s IntegerUpDown.</p>
  
  <p>It is going through an IMultiValueConverter that takes the bound POCO and the listbox it is part of (it is displaying the order of the item in the listbox)</p>
  
  <p>Here is the code:</p>
  
  <pre><code>&lt;!--works--&gt;
  &lt;wpf:IntegerUpDown ValueChanged="orderChanged" x:Name="tripOrder"&gt;
      &lt;wpf:IntegerUpDown.Value&gt;
          &lt;MultiBinding Converter="{StaticResource listBoxIndexConverter}" Mode="OneWay"&gt;
              &lt;Binding /&gt;
              &lt;Binding ElementName="listTrips" /&gt;
          &lt;/MultiBinding&gt;
      &lt;/wpf:IntegerUpDown.Value&gt;
  &lt;/wpf:IntegerUpDown&gt;
  &lt;!--doesn't work--&gt;
  &lt;TextBox x:Name="tripOrder2"&gt;
      &lt;TextBox.Text&gt;
          &lt;MultiBinding Converter="{StaticResource listBoxIndexConverter}" Mode="OneWay"&gt;
              &lt;Binding /&gt;
              &lt;Binding ElementName="listTrips" /&gt;
          &lt;/MultiBinding&gt;
      &lt;/TextBox.Text&gt;
  &lt;/TextBox&gt;
  </code></pre>
  
  <p>Here is the result:</p>
  
  <p><img src="https://i.stack.imgur.com/oPLMp.png" alt="result"></p>
  
  <p>I don't believe it is relevant, but just in case, here is the class that performs the conversion:</p>
  
  <pre><code>    public class ListBoxIndexConverter : IMultiValueConverter
      {
  
      #region IMultiValueConverter Members
  
      public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
      {
          var trip = values[0] as TripBase;
  
          if (trip == null)
          {
              return null;
          }
  
          var lb = values[1] as CheckListBox;
          if (lb == null)
          {
              return null;
          }
  
          //make it 1 based
          return lb.Items.IndexOf(trip) + 1;
      }
  
      public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
      {
          throw new NotImplementedException();
      }
  
      #endregion
  }
  </code></pre>