Існують різні Inline
елементи, які можуть вам допомогти, для найпростіших варіантів форматування, які ви можете використовувати Bold
, Italic
і Underline
:
<TextBlock>
Sample text with <Bold>bold</Bold>, <Italic>italic</Italic> and <Underline>underlined</Underline> words.
</TextBlock>
Я думаю , що варто відзначити, що ці елементи насправді просто скорочення для Span
елементів з різними заданими властивостями (наприклад: для Bold
, то FontWeight
властивість має значення FontWeights.Bold
).
Це приводить нас до нашого наступного варіанту: вищезгаданого Span
елемента.
З цим елементом ви можете домогтися тих же ефектів, що і вище, але вам надаються ще більше можливостей; ви можете встановити (серед інших) властивості Foreground
або Background
властивості:
<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>
Span
Елемент може також містити інші елементи , як це:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
Є ще один елемент, який досить схожий Span
, він називається Run
. Не Run
може містити інших вбудованих елементів, поки Span
може, але ви можете легко прив’язати змінну до властивості Run
s Text
:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
Крім того, ви можете зробити все форматування з кодового відставання, якщо вам зручніше:
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.");