c#
  • wpf
  • escaping
  • apostrophe
  • string-formatting
  • 2011-10-31 13 views 8 likes 
    8

    estoy tratando uso StringFormat para insertar apostrophies (del apóstrofe?) Alrededor de un valor que está enlazado a un TextBlock:¿No se puede usar un apóstrofo en StringFormat de un enlace XAML?

    <TextBlock Text="{Binding MyValue, StringFormat='The value is &apos;{0}&apos;'}"/> 
    

    Sin embargo, me sale un error de compilación:

    Names and Values in a MarkupExtension cannot contain quotes. The MarkupExtension arguments ' MyValue, StringFormat='The value is '{0}''}' are not valid.

    hago aviso que sí funciona para las citas:

    <TextBlock Text="{Binding MyValue, StringFormat='The value is &quot;{0}&quot;'}"/> 
    

    ¿Esto es un error con StringFormat?

    Respuesta

    13

    No estoy seguro de si se trata de un error, pero he probado este método, y funciona:

    <TextBlock Text="{Binding MyValue, StringFormat='The value is \'{0}\''}" /> 
    

    parece como comillas simples dentro de StringFormat tienen que ser escapado utilizando \ en contraposición al estilo XML tradicional &apos;

    +0

    Sí, que funciona para mí también. *Uf*! – Zodman

    +3

    Desafortunadamente no funciona en Silverlight. – Rajiv

    6

    Intente utilizar \ antes &apos:

    <TextBlock Text="{Binding MyValue, StringFormat='The value is \&apos;{0}\&apos;'}"/> 
    
    Cuestiones relacionadas