2011-10-31 12 views
8

sto cercando utilizzo StringFormat per inserire apostrophies (apostrofo di?) Intorno a un valore che è destinato a un TextBlock:Non è possibile utilizzare l'apostrofo in StringFormat di un'associazione XAML?

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

Tuttavia, ottengo un errore di compilazione:

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

faccio preavviso tuttavia funziona per le virgolette:

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

Si tratta di un bug con StringFormat?

risposta

13

non sono sicuro se si tratta di un bug, ma ho provato questo metodo, e funziona:

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

Sembra come apici all'interno StringFormat devono essere sfuggiti utilizzando \ in contrasto con lo stile XML tradizionale &apos;

+0

Yep, che funziona anche per me. * * Wow! – Zodman

+3

Sfortunatamente non funziona in Silverlight. – Rajiv

6

Tenta di utilizzare \ prima &apos:

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