title: How can I tell my ViewModel that the user is changing text in the TextBox?
body: <p>So let's say I have an <strong>MVVM</strong> application and I want the user to fill out a <strong>TextBox</strong> and <strong>while he is filling it out</strong>, I want to check to see if he has typed in the <strong>last name</strong> of a customer yet. </p>
  
  <p>Here is how I get my ViewModel to know when the user has <strong>changed the item in the ComboBox</strong>:</p>
  
  <pre><code>&lt;ComboBox 
      ItemsSource="{Binding Customers}"
      ItemTemplate="{StaticResource CustomerComboBoxTemplate}"
      Margin="20"
      HorizontalAlignment="Left"
      SelectedItem="{Binding SelectedCustomer, Mode=TwoWay}"/&gt;
  </code></pre>
  
  <p>And here is how I get my ViewModel to know when the user has <strong>moved the Slider</strong>:</p>
  
  <pre><code>&lt;Slider Minimum="0" 
          Margin="10"
          Width="400"
          IsSnapToTickEnabled="True"
          Maximum="{Binding HighestCustomerIndex, Mode=TwoWay}" 
          Value="{Binding SelectedCustomerIndex, Mode=TwoWay}"/&gt;
  </code></pre>
  
  <p>And here is how I get my ViewModel to know when the user has <strong>changed text in the TextBox and moved the focus away</strong> from the TextBox:</p>
  
  <pre><code>&lt;TextBox
      Width="200"
      Text="{Binding TypedCustomerName}"/&gt;
  </code></pre>
  
  <p>But how do I get my ViewModel to know when the user has <strong>changed text in the TextBox as he types</strong>, e.g. something like this:</p>
  
  <p><strong>PSEUDO-CODE (causes error since TextChanged is an event):</strong></p>
  
  <pre><code>&lt;TextBox
      Width="200"
      TextChanged="{Binding CurrentTextInTextBox}"/&gt;
  </code></pre>