Es gibt verschiedene Inline
Elemente , die Sie für die einfachste Formatierungsoptionen helfen können , die Sie verwenden können Bold
, Italic
und Underline
:
<TextBlock>
Sample text with <Bold>bold</Bold>, <Italic>italic</Italic> and <Underline>underlined</Underline> words.
</TextBlock>
Ich denke, es ist erwähnenswert, dass diese Elemente in der Tat nur Abkürzungen für Span
Elemente mit verschiedenen Eigenschaften sind (dh: für Bold
, die FontWeight
Eigenschaft ist auf gesetzt FontWeights.Bold
).
Dies bringt uns zu unserer nächsten Option: dem oben genannten Span
Element.
Sie können mit diesem Element die gleichen Effekte wie oben erzielen, erhalten jedoch noch mehr Möglichkeiten. Sie können (unter anderem) die Foreground
oder die Background
Eigenschaften festlegen :
<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>
Das Span
Element kann auch andere Elemente wie das folgende enthalten:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
Es gibt ein anderes Element, das ziemlich ähnlich ist Span
, es heißt Run
. Das Run
kann keine anderen Inline-Elemente enthalten, während das Span
kann, aber Sie können eine Variable einfach an die Eigenschaft des Run
' binden Text
:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
Sie können die gesamte Formatierung auch von Code-Behind aus durchführen, wenn Sie Folgendes bevorzugen:
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.");