我有一個字段,其中包含一個十進制的百分比值。WPF XAML StringFormat。轉義%
文本塊綁定到此字段,我想用%符號顯示它。
例如: 如果MyField的= 5.0然後文本應當被顯示爲 「5.00%」
這是我的結合:
Text="{Binding Path=myfield, StringFormat=0.00## \%}"
目前顯示 「500.00%」
的'\'似乎不是在逃避'%'。
如何在XAML StringFormat中轉義'%'?
我有一個字段,其中包含一個十進制的百分比值。WPF XAML StringFormat。轉義%
文本塊綁定到此字段,我想用%符號顯示它。
例如: 如果MyField的= 5.0然後文本應當被顯示爲 「5.00%」
這是我的結合:
Text="{Binding Path=myfield, StringFormat=0.00## \%}"
目前顯示 「500.00%」
的'\'似乎不是在逃避'%'。
如何在XAML StringFormat中轉義'%'?
看來我們需要斜線一倍內逃脫%,我認爲\
本身需要進行轉義幫助XAML編譯器明白,這是一個\
之前它被用%
相結合,做出一個%
完美越獄將由StringFormat
(不XAML編譯器)被理解爲文字字符串%
:
Text="{Binding Path=myfield, StringFormat=0.00## \\%}"
因此技術上我們在這裏有兩個解釋器,一個由XAML編譯器和一個由StringFormat
引擎組成。請注意,\
也用於轉義XAML中的某些特殊字符,例如{
和}
。
通過顯式指定的參數指標,你可以這樣做:
Text="{Binding Path=myfield, StringFormat=\{0:0.00## \\%\}}"
找到了答案,以我的問題,但它不完全地回答我的問題:
Text="{Binding Path=myfield, StringFormat={}{0:0.00##} %}"
這表示它的參數指標0格式「0.00 ##」然後附加「%」。
雖然這會給出理想的結果它沒有解釋如何爲參數字符串格式0
我能想到的唯一的事情是,有反斜線和'%'之間的另一個零寬度字符(但不太可能出現)。 – ChrisF