2011-10-31 7 views
8

私はapostrophies挿入するために使用StringFormatをしようとしているのTextBlockにバインドされた値の周り(アポストロフィのを?):XAMLバインディングのStringFormatでアポストロフィを使用できませんか?

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

しかし、私はコンパイルエラーを取得:

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

私は通知を行いますそれは引用符で動作します:

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

これはStringFormatのバグですか?

答えて

13

私はそれはバグだかはわからないが、私はこの方法をテストし、それが動作します:

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

伝統的なXMLスタイルとは対照的に、\を使用してエスケープする必要がStringFormat内の単一引用符のように思えます&apos;

+0

あまりにも私の作品うんを、。 * whew *! – Zodman

+3

残念ながら、Silverlightでは動作しません。 – Rajiv

6

&apos\を使用してみてください:

<TextBlock Text="{Binding MyValue, StringFormat='The value is \&apos;{0}\&apos;'}"/> 
関連する問題