在后面的代码中将 Text 设置为 RichTextBlock

Set Text to the RichTextBlock in code behind

我正在尝试在通用应用程序中将文本设置为 RichTextBlock,这是我在 xaml 中的代码:

<RichTextBlock x:Name="descr">
       <Paragraph>
             <Paragraph.Inlines>
                 <Run Text="{Binding Path=desc}"/>
             </Paragraph.Inlines>
       </Paragraph>
</RichTextBlock>

但我不知道如何在后面的代码中设置此 RichTextBlock 中的文本,这是我的尝试:

Paragraph p = new Paragraph();
  p.Inlines.Add("test");//error here cannot convert from 'string' to 'Windows.UI.Xaml.Documents.Inline' 
  descr.Blocks.Add(p);

那么如何在 C# 代码中将 Text 设置为 RichTextBlock 感谢帮助

Inlines 属性 是一个 InlineCollection,它是 Inline 个对象,而您正在尝试向该集合中添加一个字符串。

内联的 MSDN

Provides a base class for inline text elements, such as Span and Run.

因此您需要添加 Run 或 Span 对象。

// Create run and set text
Run run = new Run();
run.Text = "test";

// Create paragraph
Paragraph paragraph = new Paragraph();

// Add run to the paragraph
paragraph.Inlines.Add(run);

// Add paragraph to the rich text block
richTextBlock.Blocks.Add(paragraph);

编辑

似乎您无法直接从后面的代码绑定 运行 或 Span 对象的 Text 属性。