将段落列表绑定到RichTextBlock

本文关键字:RichTextBlock 绑定 列表 段落 | 更新日期: 2023-09-27 18:14:26

现在,我有我需要绑定到RichTextBlock的数据,但我无法格式化它,因为我只是在RichTextBlock的段落设置上使用一个绑定到run的长字符串。显然,这并不理想。我希望能够改变一些单词的字体大小或字体权重,但我目前的方法无法做到这一点。

<RichTextBlock TextAlignment="Justify" TextWrapping="WrapWholeWords" Name="richTB">
    <Paragraph>
        <Run Text="{Binding}" />
    </Paragraph>
</RichTextBlock>

我知道我可以在我的代码后面创建一个RichTextBlock,并手动添加段落,但我如何绑定它?因为它在我的page.resources ?

将段落列表绑定到RichTextBlock

不幸的是,如果您想对字符串进行自定义格式化,则无法真正绑定它。XAML构建了这些控件,而你不能通过绑定以你想要的方式生成这些控件。

你可以做的是为你的控件连接一个OnLoad事件处理程序,并通过c#注入任何段落/运行控件

我相信您正在{绑定}源代码,因此在代码中,您可以从以下代码中获得帮助:

Paragraph para = new Paragraph();
            para.Inlines.Add(new Run { Text = sample, FontSize = 15 });            
            rtb.Blocks.Add(para);

RTB是一个richtextblock