我有一个包含小数百分比值的字段。
文本 block 绑定(bind)到该字段,我想用 % 符号显示它。
例如: 如果 myfield = 5.0,则文本应显示为“5.00 %”
这是我的绑定(bind):
Text="{Binding Path=myfield, StringFormat=0.00## \%}"
当前显示“500.00 %”
'\' 似乎没有转义 '%'。
如何转义 XAML StringFormat 中的“%”?
最佳答案
看起来我们需要加倍斜杠,我认为 \
本身需要转义以帮助 XAML 编译器在合并之前理解它是一个单一的 \
使用 %
为 %
进行完美转义,%
将被 StringFormat
理解为文字字符串 %
(不是通过 XAML 编译器):
Text="{Binding Path=myfield, StringFormat=0.00## \\%}"
从技术上讲,我们这里有 2 个解释器,一个由 XAML 编译器提供,一个由 StringFormat
引擎提供。请注意,\
还用于转义 XAML 中的一些特殊字符,例如 {
和 }
。
通过显式指定参数索引,您可以这样做:
Text="{Binding Path=myfield, StringFormat=\{0:0.00## \\%\}}"
关于.net - WPF XAML 字符串格式。逃脱 %,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33209400/