Wpf 如何制作一个进度/消息窗口,其中每行可以是不同的字体、大小和颜色?

Wpf 如何制作一个进度/消息窗口,其中每行可以是不同的字体、大小和颜色?,wpf,text,mvvm,colors,Wpf,Text,Mvvm,Colors,我试图在我的视图中创建一个文本块,它将显示我发送给它的任何消息。它只是在每次写入时不断追加一行。我希望能够写在不同的字体,大小和颜色每行 我已经找到了ListView和RichTextBox的例子。我不在乎这是什么控制。它只需要遵循MVVM格式,这就是我在这些示例中遇到的问题 对于熟悉命令窗口的用户,如何在显示器上创建批处理文件和“回显”行?这就是我要做的。找到并使用。意识到我需要创建一个类来保存我的字符串和颜色。将该类放入ObservaleCollection中,并绑定到ObservaleCo

我试图在我的视图中创建一个文本块,它将显示我发送给它的任何消息。它只是在每次写入时不断追加一行。我希望能够写在不同的字体,大小和颜色每行

我已经找到了ListView和RichTextBox的例子。我不在乎这是什么控制。它只需要遵循MVVM格式,这就是我在这些示例中遇到的问题

对于熟悉命令窗口的用户,如何在显示器上创建批处理文件和“回显”行?这就是我要做的。

找到并使用。意识到我需要创建一个类来保存我的字符串和颜色。将该类放入ObservaleCollection中,并绑定到ObservaleCollection

我的新班级:

public class DisplayData
{
    public string _string { get; set; }
    public System.Windows.Media.Brush _color { get; set; }
    public int _fontSize { get; set; }
}
XAML:


其中pb是我的VM中的本地类变量

模型中的代码:

public ObservableCollection<DisplayData> _displayString { get; set; }
...
_displayString = new ObservableCollection<DisplayData>();
string _error = "Error Opening COM Port";
_displayString.Add(new DisplayData { _string = _error, _color = System.Windows.Media.Brushes.Red, _fontSize = 20 });
publicobservableCollection\u displayString{get;set;}
...
_displayString=新的ObservableCollection();
字符串_error=“打开COM端口时出错”;
_添加(新的显示数据{{u字符串={u错误,{u颜色=System.Windows.Media.brusks.Red,{u字体大小=20});

@afuzzyllama-你可以编辑,但你无能为力?ListView和RichTextBox将是理想的控件。也许可以提供更多关于您尝试过什么和/或示例如何让您对MVVM模式感到困惑的细节。@MarkLallemont-我正在为社区复习您的问题。这并不意味着我知道答案。你能分享一下你所看到的有问题的例子吗?你怎么称呼这个观点?异步?
public ObservableCollection<DisplayData> _displayString { get; set; }
...
_displayString = new ObservableCollection<DisplayData>();
string _error = "Error Opening COM Port";
_displayString.Add(new DisplayData { _string = _error, _color = System.Windows.Media.Brushes.Red, _fontSize = 20 });