Hay varios Inline
elementos que pueden ayudar a usted, para obtener las opciones de formato más simples, 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 destacar, que estos elementos son, de hecho, sólo abreviaturas de Span
elementos con diferentes propiedades establecidas (es decir .: para Bold
, la propiedad se establece en FontWeight
FontWeights.Bold
).
Esto nos lleva a nuestra siguiente opción: el elemento Span
antes mencionado.
Puede lograr los mismos efectos con este elemento que el anterior, pero se le otorgan aún más posibilidades; puede establecer (entre otros) los Foreground
o la Background
propiedades:
<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 elemento Span
también pueden contener otros elementos como esto:
<TextBlock>
<Span FontStyle="Italic">Italic <Span Background="Yellow">text</Span> with some <Span Foreground="Blue">coloring</Span>.</Span>
</TextBlock>
Hay es otro elemento, que es bastante similar a Span
, se llama Run
. El Run
no puede contener otros elementos en línea, mientras que el Span
puede, pero puede unirse fácilmente a una variable a la Run
's Text
propiedad:
<TextBlock>
Username: <Run FontWeight="Bold" Text="{Binding UserName}"/>
</TextBlock>
Además, se puede hacer todo el formato de código- detrás, 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.");
¡Maravilloso! No tenía idea de que XAML admitiera tales constructos. –
¿esto es compatible con el enlace? –
@ArsenMkrt Qué tal: –
Aetherix