まず第一に、私は英語を話せません。問題を説明しようと思います。
XAML と C# を使用してチャット コントロールを作成しています。RichTextBox.Document.Blocks に直接追加する 3 つの列を持つカスタム テーブル コントロールを作成しました。すべて問題ありません。正規表現でテキストを強調表示するコードがありますが、他のものを正しく強調表示できませんが、正規表現は一致しません。コードは次のとおりです。
TextPointer start = message.content.ContentStart;
foreach (var x in styles)
{
for (var y = Regex.Match(message.Content as string, x.Key); y.Success; y = y.NextMatch())
{
var textrange = new TextRange(
start.GetPositionAtOffset(y.Index),
start.GetPositionAtOffset(y.Index + y.Length));
textrange.ApplyPropertyValue(TextElement.ForegroundProperty,
new SolidColorBrush(Colors.Red));
}
}
message.content は段落内のラン、styles は文字列 (正規表現) の辞書とテキスト スタイルですが、読みやすいように実装されていません。
事前に感謝し、私の英語を許してください:s