1

まず第一に、私は英語を話せません。問題を説明しようと思います。

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

4

0 に答える 0