XAML StringFormat中的#是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XAML StringFormat中的#是什么?相关的知识,希望对你有一定的参考价值。

我正在学习教程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重载时,最好以编程方式使用它。

以上是关于XAML StringFormat中的#是什么?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 XAML 中使用 StringFormat 显示逗号​​分隔的数字?

如何在 XAML 元素中使用 StringFormat?

WPF在XAML中Binding使用StringFormat属性

您可以在 XAML 属性数据绑定期间对超链接的 NavigateUri 属性进行 StringFormat 吗?

带转换器的多重绑定中的 XAML 字符串格式

Binding 中的 WPF StringFormat 在后面的代码中不起作用