Hay varios Inline
elementos que pueden ayudarlo, para las opciones de formato más simples que puede usar Bold
, Italic
y Underline
:
<TextBlock>
Sample text with <Bold>bold</Bold>, <Italic>italic</Italic> and <Underline>underlined</Underline> words.
</TextBlock>
Creo que vale la pena señalar que esos elementos son, de hecho, abreviaturas de Span
elementos con varias propiedades establecidas (es decir Bold
, para , la FontWeight
propiedad está establecida en FontWeights.Bold
).
Esto nos lleva a nuestra siguiente opción: el Span
elemento antes mencionado .
Puede lograr los mismos efectos con este elemento que el anterior, pero se le otorgan aún más posibilidades; puede configurar (entre otros) Foreground
las Background
propiedades o :
<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>
El Span
elemento también puede contener otros elementos como este:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
Hay otro elemento, que es bastante similar a Span
, se llama Run
. El Run
no puede contener otros elementos en línea mientras que la Span
lata, pero puede fácilmente se unen una variable a la Run
's Text
propiedad:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
Además, puede hacer todo el formateo desde el código subyacente si lo prefiere:
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.");