投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/9/1 16:45:20
であれば単純に、両者の前景色を入れ替えてみては如何でしょう?

TextBox が入力担当&前景表示担当で、
TextBlock が背景表示担当という組み合わせです。

<TextBlock
  TextWrapping="Wrap"
  Foreground="Transparent"
  ><Run  Text="{Binding WordNormal, Mode=OneWay}"
  /><Run Text="{Binding WordOver, Mode=OneWay}" Background="Yellow"
/></TextBlock>

<TextBox
  TextWrapping="Wrap"
  Background="Transparent"
  Foreground="Blue"
  Text="{Binding Word, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />



文字列が長い場合はスクロールに注意が必要かもしれません。

あと、Word プロパティの文字列を WordNormal / WordOver プロパティへ切り出す場合、
分割基準が文字数であれバイト数であれ、分割位置が泣き別れにならないように注意。
たとえば vbCrLf が vbCr と vbLf で別れてしまうパターンとか、
その他、サロゲートペア、結合文字列、合字、異体字セレクタなど。