如何绑定文本并使其在 UI 上自行格式化?

How can I bind text and have it format itself on the UI?

如何绑定文本并使其在 UI 上自行格式化?

例如,假设ViewModel中的字符串是这样的:

myDependencyProperty = @"<b>Title: </b>My title\n<b>Description: </b>This is my description.\n";

在视图层我有这个:

<TextBlock Text="{Binding myDependencyProperty}" />

问题是它按原样显示。但我希望它被相应地格式化,如下:

Title: My Window

Description: This is my description.

我该如何完成?

谢谢。

TextBlock 不支持格式化,请改用结合流文档的 RichtextBox。 WPF 也不是 HTML 所以不会导致换行或粗体。

        public FlowDirection rtbFlowDoc { get; set; }

        var para = new Paragraph();

        para.Inlines.Add(new Bold(new Run(sText + "\n")));

        rtbFlowDoc.Blocks.Add(para);

在您的 xaml 中将 richtextbox 绑定到流文档

Document="{Binding MainModel.RtbFlowDoc}"