在WPF中使用 RichTextBox显示信息,可以使用不同的颜色标注不同类型的信息,如,一般信息用黑色,错误用红色,成功用绿色。诸如次类的需求。
核心功能函数:
传入显示的信息和对应的前景色。
//使用RichBox显示不同的文本信息
internal async Task AddMessage(string msg, Brush brush)
{
await this.txtMessage.Dispatcher.BeginInvoke(new Action(() =>
{
Run run = new Run();
Paragraph paragraph = new Paragraph();
run.Foreground = brush;
run.Text = msg;
paragraph.Inlines.Add(run);
paragraph.LineHeight = 1;
if (brush == System.Windows.Media.Brushes.Red)
{
paragraph.FontWeight = FontWeights.DemiBold;
}
this.txtMessage.Document.Blocks.Add(paragraph);
this.txtMessage.ScrollToEnd();
}));
}
在WPF中添加RichTextBox 控件:
演示不同的测试状态,显示不同信息:
private async void btnDemoRunFlow_Click(object sender, RoutedEventArgs e)
{
//选择的产品类型
var dtype = await Get_DeviceType();
await AddMessage(dtype.ToString(), System.Windows.Media.Brushes.Yellow);
Random rnd = new Random();
Brush[] DefineColor = new Brush[] { System.Windows.Media.Brushes.Red, System.Windows.Media.Brushes.Black, System.Windows.Media.Brushes.Green };
for (int i = 1; i < 10; i++)
{
int num = rnd.Next(0, 3);
await Task.Delay(1000 * num);
await AddMessage($“Test Point{i} Running”, DefineColor[num]);
}
}
效果如下: