C# 将文本设置为代码隐藏中的RichTextBlock

C# 将文本设置为代码隐藏中的RichTextBlock,c#,win-universal-app,uwp,windows-10-universal,C#,Win Universal App,Uwp,Windows 10 Universal,我正在尝试在通用应用程序中将文本设置为RichTextBlock,这是我在xaml中的代码: <RichTextBlock x:Name="descr"> <Paragraph> <Paragraph.Inlines> <Run Text="{Binding Path=desc}"/> </Paragraph.Inlines>

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

<RichTextBlock x:Name="descr">
       <Paragraph>
             <Paragraph.Inlines>
                 <Run Text="{Binding Path=desc}"/>
             </Paragraph.Inlines>
       </Paragraph>
</RichTextBlock>
那么如何在C代码背后将文本设置为RichTextBlock呢#
感谢您的帮助

Inlines属性是一个 对象,而您正试图将字符串添加到此集合

用于内联的MSDN

为内联文本元素(如Span和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);
编辑


似乎您无法从后面的代码直接绑定Run或Span对象的文本属性。

谢谢您的回复,但我在以下行中收到一个错误:Run.SetBinding(TextProperty,binding);=>'“Run”不包含“SetBinding”的定义,并且找不到接受“Run”类型的第一个参数的扩展方法“SetBinding”(您是否缺少using指令或程序集引用?@user3821206哦,是的,我更新了答案,错误是由于Run的绑定问题,可能不支持它或其他原因。如果我找到了从代码隐藏绑定运行的方法,我将更新答案。如果您已经定义了绑定,为什么不使用它?
// 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);