WPF Binding.StringFormat:C vs.' {} {0:C}'

时间:2013-03-20 17:17:34

标签: wpf data-binding string-formatting

我正在尝试全球化一个简单的WPF应用。在SO的几个问题和/或答案中,我看到绑定中的以下两个设置之一:

StringFormat=C 
StringFormat='{}{0:C}'

这些有什么区别?是否存在使用其中一种的条件?

2 个答案:

答案 0 :(得分:1)

我的理解是没有区别,一个是速记而另一个是明确的。我能想到明确的唯一条件是有益的是当你想要更多地控制格式时。例如:

StringFormat=Total: {0:C}

除此之外,我会说保持简单; XAML已经很冗长,欢迎使用简写语法。

答案 1 :(得分:1)

也许读取字符串格式?

http://msdn.microsoft.com/en-us/library/dd465121.aspx

您可以在填写值的格式字符串中使用{0:C}:

decimal value = 123.456; 
Console.WriteLine("Your account balance is {0:C2}.", value);

同时,您将C用作普通格式:

Console.WriteLine(("Your account balance is " + decimal.Parse("24.3200").ToString("C"));

就输出而言,它们在功能上是等效的。这只是根据您使用它的方式设置数据格式的另一种方式。

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#CFormatString