我知道在XAML中我们可以做到......
<TextBlock FontSize="18">
This is my text <LineBreak/>
<Run FontSize="24" FontWeight="Bold">My big bold text</Run>
</TextBlock>
问题是,如何以编程方式将Run分配给text(string)属性?
答案 0 :(得分:19)
如果查看TextBlock
,您会看到ContentProperty设置为Inlines
[Localizability(LocalizationCategory.Text), ContentProperty("Inlines")]
public class TextBlock : FrameworkElement, ...
这意味着您将Inline
元素添加到属性Inlines
,以便在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);