0

で別の問題が発生しましRichTextBoxた。次のような色のテキスト範囲がある場合:

var range = new TextRange(TextInput.Document.ContentStart,
TextInput.Document.ContentEnd);
range.Text = "asdfghjk";

var colored = new TextRange(TextInput.Document.ContentStart.GetPositionAtOffset(3, LogicalDirection.Forward),
TextInput.Document.ContentStart.GetPositionAtOffset(7, LogicalDirection.Forward));
colored.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Blue);

そして、変更リスナーには次のようなものがあります。

var range = new TextRange(TextInput.Document.ContentStart, TextInput.Document.ContentEnd);
if (range.Text.Length == 9)
     range.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Black);

青色の文字の 1 つがバックスペースを使用して削除され (delete キーは正常に機能すると思います)、すぐに入力を開始すると、書式設定前と同様に、表示されるテキストは blueになります。なぜそれが起こっているのか、それを回避する方法は何なのかに興味があります。

4

0 に答える 0