¿Cómo logro formatear un texto dentro de un TextBlock
control en mi aplicación WPF?
Por ejemplo: me gustaría tener ciertas palabras en negrita, otras en cursiva y algunas en diferentes colores, como este ejemplo:
La razón detrás de mi pregunta es este problema real:
lblcolorfrom.Content = "Colour From: " + colourChange.ElementAt(3).Value.ToUpper();
Me gustaría que la segunda parte de la cadena fuera en negrita, y sé que podría usar dos controles (Labels, TextBlocks, etc.) pero preferiría no hacerlo, debido a la gran cantidad de controles que ya están en uso.
c#
wpf
wpf-controls
Ceniza
fuente
fuente
Hay varios
Inline
elementos que pueden ayudarlo, para las opciones de formato más simples que puede usarBold
,Italic
yUnderline
:Creo que vale la pena señalar que esos elementos son, de hecho, abreviaturas de
Span
elementos con varias propiedades establecidas (es decirBold
, para , laFontWeight
propiedad está establecida enFontWeights.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
lasBackground
propiedades o :El
Span
elemento también puede contener otros elementos como este:Hay otro elemento, que es bastante similar a
Span
, se llamaRun
. ElRun
no puede contener otros elementos en línea mientras que laSpan
lata, pero puede fácilmente se unen una variable a laRun
'sText
propiedad:Además, puede hacer todo el formateo desde el código subyacente si lo prefiere:
fuente
Vea este ejemplo de Charles Petzolds Bool Aplicación = Código + marcado
fuente
un buen sitio, con buenas explicaciones:
http://www.wpf-tutorial.com/basic-controls/the-textblock-control-inline-formatting/
¡Aquí el autor te da buenos ejemplos de lo que estás buscando! En general, el sitio es excelente para material de investigación y además cubre una gran cantidad de opciones que tiene en WPF
Editar
Existen diferentes métodos para formatear el texto. para un formato básico (el más fácil en mi opinión):
El ejemplo 1 muestra el formato básico con negrita itálica y texto subrayado.
A continuación se incluye el método SPAN, con este texto resaltado:
El ejemplo 2 muestra la función span y las diferentes posibilidades con ella.
¡Para una explicación detallada, visite el sitio!
Ejemplos
fuente
Esta es mi solución ...
Estoy aprendiendo ... así que si alguien tiene información sobre la solución anterior, ¡compártala! :)
fuente