我正在学习教程here。该示例包含以下行
<TextBlock Text="{Binding ElementName=wnd, Path=ActualWidth, StringFormat=Window width: {0:#,#.0}}" />
将窗口宽度绑定到文本块。如果我删除“#,#”,我注意到除了数字大于999以外没有逗号,我得到的结果相同。我看到了它的作用。如果我将其更改为
<TextBlock Text="{Binding ElementName=wnd, Path=ActualWidth, StringFormat=Window width: {0:##,#.0}}" />
我也得到同样的东西。所以我的问题是#到底是什么意思。查看了MSDN并搜索了google,但几乎每个示例都没有使用任何#号。
#
是.NET中的数字占位符数字格式说明符,如果存在,则用相应的数字替换。有关更多信息,请参考docs。
与XAML无关。例如,当您调用接受格式字符串的数字类型的ToString
重载时,最好以编程方式使用它。