Silverlight是否支持绑定中的StringFormat?

12
我知道WPF 3.5 SP1支持在绑定中使用StringFormat,但Silverlight是否也可以做到呢?我认为它是可以的,但该死的是我无法使其工作!以下是我的XAML片段:
<TextBlock Text="{Binding StartTime, StringFormat=t}" />

代码可以编译成功,但在浏览器运行时出现了运行时错误...

3个回答

37

我不知道 Silverlight 的哪个版本引入了它,但现在您可以使用。我正在使用 Silverlight 4 Beta。

   <data:DataGridTextColumn Header="Date" 
     Binding="{Binding CreateDt, StringFormat=\{0:d\}}" />

这里提供了关于Silverlight 4数据绑定字符串的信息。

这里有关于格式类型DateTime更多的信息。

这里是Silverlight Binding的完整文档。


1
相关参考资料显示,仅在Silverlight 4中受支持。http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.stringformat%28VS.95%29.aspx - russau
顺便提一下,Tim Heuer指出了一个与StringFormat绑定在非美国文化中使用时的错误和解决方法:http://timheuer.com/blog/archive/2010/08/11/stringformat-and-currentculture-in-silverlight.aspx - David White

11

Silverlight 3及以下版本不支持,但您可以使用值转换器并在绑定中指定转换器参数。您需要从IValueConverter派生一个类来创建自己的值转换器,就像我在这里所示。

Silverlight 4及更高版本具有与WPF相同的StringFormat绑定属性。


1

Simon提到的字符串格式适用于Silverlight 4。甚至在Blend中也支持设置该格式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接