Vincular texto de TextBlock cuando es más que una cadena simple

Tengo un bloque de texto y me gustaría vincular su contenido a una propiedad en mi modelo de vista. Esto está bien si el contenido es una cadena simple. Pero no está tan bien si quiero formatear el contenido y usar o etiquetas... En este caso, no puedo vincular una cadena: el bloque de texto simplemente mostraría una cadena como esta "Hola".

Algunas ideas ? Gracias

preguntado el 31 de julio de 12 a las 13:07

En realidad, el editor eliminó una parte de mi pregunta y creo que esto no lo dejó claro. Quería saber si es posible vincular un FlowDocument a un texblock, en lugar de una cadena simple. El Texblock puede mostrar etiquetas Run usando la propiedad Inlines. ¿Hay alguna forma de enlazar con esto? -

Podrías haber preguntado esto en tu pregunta. La única parte editada es el título de la pregunta. Es posible que haya intentado vincularse a la Inlines property y vi que no funcionará ya que es de solo lectura. También puede considerar usar un RichTextBox y vincularlo a su Documento propiedad. -

3 Respuestas

si tiene una propiedad de algún tipo, puede crear una plantilla de datos para este tipo

<DataTemplate DataType="{x:Type local:MySomeType}">
  <!--your visual presentation goes here-->
</DataTemplate>

ahora puede simplemente usar un ContentPresenter para mostrar su propiedad

 <ContentPresenter Content="{Binding MySomeTypeProperty}"/>

Respondido 31 Jul 12, 13:07

Ver lo que el formato de cadena propiedad puede hacer por usted. Si eso no es suficiente, es posible que desee escribir un convertidor vinculante.

Respondido 31 Jul 12, 16:07

Algo como esto:

  <Textblock content="{Binding MyProperty, StringFormat={}Hello {1}}" />

Solo tengo que jugar con el formato de cadena.

Respondido 31 Jul 12, 13:07

Ciertamente quieres decir <TextBlock Text="{Binding MyProperty, StringFormat=Hello {0}}"/>. Tenga en cuenta el CamelCase en TextBlock, la propiedad Text en lugar de content, lo superfluo {} en StringFormat, y el índice del parámetro 0 en lugar de 1. - Clemens

Sí, gracias por aclararlo. He usado el formato de cadena en xaml solo unas pocas veces. - Tman

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.