Istnieje wiele Inline
elementów, które mogą Ci pomóc, w zakresie najprostszych opcji formatowania, których możesz użyć Bold
, Italic
oraz Underline
:
<TextBlock>
Sample text with <Bold>bold</Bold>, <Italic>italic</Italic> and <Underline>underlined</Underline> words.
</TextBlock>
Myślę, że warto zauważyć, że te elementy są w rzeczywistości skrótami dla Span
elementów o różnych ustawionych właściwościach (np. Dla Bold
, FontWeight
właściwość jest ustawiona na FontWeights.Bold
).
To prowadzi nas do naszej następnej opcji: wspomnianego wcześniej Span
elementu.
Dzięki temu elementowi możesz osiągnąć takie same efekty jak powyżej, ale masz jeszcze więcej możliwości; możesz ustawić (między innymi) Foreground
lub Background
właściwości:
<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
Element może również zawierać inne elementy, takie jak poniżej:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
Jest jeszcze jeden element, który jest dość podobny do Span
, to się nazywa Run
. Run
Nie może zawierać inne elementy inline natomiast Span
można, ale można łatwo powiązać zmienną do Run
„s Text
nieruchomości:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
Jeśli wolisz, możesz również wykonać całe formatowanie z poziomu kodu:
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.");