将段落列表绑定到RichTextBlock

时间:2015-09-25 05:31:57

标签: c# .net xaml uwp richtextblock

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我相信你是{绑定}源代码,因此在代码中,你可以从这段代码中获得帮助:

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

其中rtb是富文本块。