我有一个字段,其中包含一个十进制的百分比值。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