Прежде всего, вы наверняка рассматривали двустороннюю привязку данных к своей модели представления с помощью UpdateSourceTrigger из PropertyChanged? Таким образом, установщик свойства свойства, к которому вы привязываетесь, будет вызываться при каждом изменении текста?
Если этого недостаточно, я бы решил эту проблему, используя Attached Behaviors. В блоге Джулиана Домингеса вы найдете статью о том, как сделать что-то очень похожее в Silverlight, которое должно быть легко адаптировано к WPF.
По сути, в статическом классе (называемом, скажем, TextBoxBehaviours) вы определяете присоединенное свойство, называемое (возможно) TextChangedCommand типа ICommand. Подключите обработчик OnPropertyChanged для этого свойства, и в обработчике убедитесь, что свойство устанавливается в TextBox; если это так, добавьте обработчик к событию TextChanged в текстовом поле, который будет вызывать команду, указанную в свойстве.
Затем, предполагая, что ваша view-модель была назначена для DataContext вашего View, вы должны использовать его следующим образом:
<TextBox
x:Name="MyTextBox"
TextBoxBehaviours.TextChangedCommand="{Binding ViewModelTextChangedCommand}" />