Existem vários Inline
elementos que podem ajudá-lo, por mais simples opções de formatação que você pode usar Bold
, Italic
e Underline
:
<TextBlock>
Sample text with <Bold>bold</Bold>, <Italic>italic</Italic> and <Underline>underlined</Underline> words.
</TextBlock>
Acho que é importante notar que esses elementos são, na verdade, apenas abreviações para Span
elementos com várias propriedades definidas (ou seja: para Bold
, a FontWeight
propriedade é definida como FontWeights.Bold
).
Isso nos leva à nossa próxima opção: o Span
elemento mencionado .
Você pode obter os mesmos efeitos com este elemento acima, mas tem ainda mais possibilidades; você pode definir (entre outros) o Foreground
ou as Background
propriedades:
<TextBlock>
Sample text with <Span FontWeight="Bold">bold</Span>, <Span FontStyle="Italic">italic</Span> and <Span TextDecorations="Underline">underlined</Span> words. <Span Foreground="Blue">Coloring</Span> <Span Foreground="Red">is</Span> <Span Background="Cyan">also</Span> <Span Foreground="Silver">possible</Span>.
</TextBlock>
O Span
elemento também pode conter outros elementos como este:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
Existe outro elemento, que é bastante semelhante a Span
, é chamado Run
. A Run
não pode conter outros elementos inline enquanto a Span
lata, mas você pode facilmente vincular uma variável para o Run
's Text
propriedade:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
Além disso, você pode fazer toda a formatação a partir do code-behind, se preferir:
TextBlock tb = new TextBlock();
tb.Inlines.Add("Sample text with ");
tb.Inlines.Add(new Run("bold") { FontWeight = FontWeights.Bold });
tb.Inlines.Add(", ");
tb.Inlines.Add(new Run("italic ") { FontStyle = FontStyles.Italic });
tb.Inlines.Add("and ");
tb.Inlines.Add(new Run("underlined") { TextDecorations = TextDecorations.Underline });
tb.Inlines.Add("words.");