.net WPF XAML字符串格式。逃逸%
我有一个字段,它包含一个percantage值作为小数 文本块已绑定到此字段,我想用%符号显示它 例如: 如果myfield=5.0,则文本应显示为“5.00%” 这是我的装订:.net WPF XAML字符串格式。逃逸%,.net,wpf,xaml,.net,Wpf,Xaml,我有一个字段,它包含一个percantage值作为小数 文本块已绑定到此字段,我想用%符号显示它 例如: 如果myfield=5.0,则文本应显示为“5.00%” 这是我的装订: Text="{Binding Path=myfield, StringFormat=0.00## \%}" 当前显示“500.00%” “\”似乎没有转义“%” 如何在XAML StringFormat中转义“%”?您可以尝试使用引号: Text="{Binding Path=myfield, StringForma
Text="{Binding Path=myfield, StringFormat=0.00## \%}"
当前显示“500.00%”
“\”似乎没有转义“%”
如何在XAML StringFormat中转义“%”?您可以尝试使用引号:
Text="{Binding Path=myfield, StringFormat=0.00## '%'}"
找到我的问题的答案,但它不能完全回答我的问题:
Text="{Binding Path=myfield, StringFormat={}{0:0.00##} %}"
这表示对于参数索引0,将其格式化为“0.00##”,然后附加“%”
虽然这给出了所需的结果,但没有解释如何在参数0的字符串格式中转义% 看起来我们需要加倍斜杠,我认为
\
本身需要转义,以帮助XAML编译器理解它是一个单独的\
,然后再将其与%
组合,以完美地转义%
,这将被StringFormat
理解为文本字符串%
(并非由XAML编译器提供):
所以从技术上讲,我们这里有两个解释器,一个是XAML编译器,另一个是StringFormat
引擎。请注意\
还用于转义XAML中的一些特殊字符,例如{
和}
通过显式指定参数索引,可以执行以下操作:
Text="{Binding Path=myfield, StringFormat=\{0:0.00## \\%\}}"
恐怕这甚至无法编译。我唯一能想到的是,在反斜杠和
%
之间还有另一个零宽度字符(尽管不太可能出现)。
Text="{Binding Path=myfield, StringFormat=\{0:0.00## \\%\}}"