首先,我不会说英语,我会尝试解释我的问题。
我正在使用XAML和C#进行聊天控制,我使用3列自定义Table控件将其直接添加到RichTextBox.Document.Blocks中,一切正确;我有一个用正则表达式突出显示文本的代码,但没有正确地突出显示其他东西而不是正则表达式匹配,这里是代码:
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是一个段落中的运行,样式是字符串(正则表达式)和文本样式的字典,但是没有实现以便于阅读。
提前致谢并原谅我的英语:s