如何以编程方式将 Run 分配给文本属性

本文关键字:分配 文本 属性 Run 编程 方式 | 更新日期: 2023-09-27 18:36:18

我知道在 XAML 中我们可以做到......

<TextBlock FontSize="18">
   This is my text <LineBreak/>
   <Run FontSize="24" FontWeight="Bold">My big bold text</Run>
</TextBlock>

问题是,如何以编程方式将 Run 分配给文本(字符串)属性?

如何以编程方式将 Run 分配给文本属性

如果您查看TextBlock,您会发现 ContentProperty 设置为Inlines

[Localizability(LocalizationCategory.Text), ContentProperty("Inlines")]
public class TextBlock : FrameworkElement, ...

这意味着您将向属性Inlines添加Inline元素,以便在 TextBlock 的开始和结束标记之间添加的每个元素。

所以等效于你的 Xaml 的 c# 是

TextBlock textBlock = new TextBlock();
textBlock.FontSize = 18;
textBlock.Inlines.Add("This is my text");
textBlock.Inlines.Add(new LineBreak());
Run run = new Run("My big bold text");
run.FontSize = 24;
run.FontWeight = FontWeights.Bold;
textBlock.Inlines.Add(run);