Como posso evitar que os controles de entrada roubem o caractere de espaço do TextCompositionManager?

Relacionado (mas não um dupe!) A esta pergunta:Ajuda com os eventos TextCompositionManager do WPF

Ao usar oTextCompositionManager Eu estou tendo um problema onde, se um controle de entrada, como o TextBox tem foco, o TextBox irá "roubar" o caractere de espaço antes que eu possa ter a chance de agir sobre ele.

Por exemplo, temos o seguinte código:

<code>public Window1()
{
  TextCompositionManager.AddPreviewTextInputStartHandler
    (this, PreviewTextInputStartHandler);
}

private void PreviewTextInputHandler(object sender, TextCompositionEventArgs e)
{
  CaptureTextBlock.Text += e.Text;
  e.Handled = true;
}
</code>

onde Window1 se parece com:

<code><!--standard window crap above here-->
<StackPanel>
  <TextBlock Name="CaptureTextBlock" />
  <TextBox Name="ThievingBastard" />
</StackPanel>
<!-- snip -->
</code>

Agora, se eu executar este aplicativo e digitar imediatamente "I haet thieving bastards", o TextBlock conterá o texto "I haet thieving bastards" e a caixa de texto estará vazia.

Se, no entanto, eu focar a caixa de texto (ou seja, a caixa de texto tem o foco do teclado), após digitar a linha acima, o bloco de texto conterá o texto "Ihaetthievingbastards" ea caixa de texto conterá o texto "" (3 espaços).

Eu tenho duas perguntas:
1) Posso evitar que isso aconteça apenas com os recursos fornecidos pelo TextCompositionManager?
2) Se não, onde diabos eu plugar na pilha de entrada de texto para que eu possatotalmente controle de entrada de texto dentro do meu aplicativo WPF (pontos negativos para até pensar em p / invocar) (você acabou de pensar sobre isso, pontos negativos adicionados)?

Atualizar

Eu estou usando uma solução alternativa hacky onde eu manipulo o evento KeyDown de encapsulamento do InputManager apenas para espaços. Este método é muito estranho, ineficiente e basicamente fede. Ainda procurando um caminho melhor.

questionAnswers(1)

yourAnswerToTheQuestion