2008-12-29 84 views
12

我知道WPF 3.5 SP1支持绑定中的StringFormat,但Silverlight可以做到这一点吗?我认为它可以,但是,如果我能使它工作,该死!Silverlight是否支持绑定中的StringFormat?

这里是我的XAML的一个片段:

<TextBlock Text="{Binding StartTime, StringFormat=t}" /> 

它编译OK,但我得到一个运行时错误当它到达浏览器...

回答

11

的Silverlight 3及以下不这样做,但你可以使用值转换器并在绑定中指定ConverterParamenter。您必须通过从IValueConverter派生类来创建自己的Value Converter,如我所示here

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

+7

SL4确实。 http://msdn.microsoft.com/en-us/library/cc278072(VS.95).aspx – 2010-08-05 03:57:34

37

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

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

http://blog.davemdavis.net/2009/12/silverlight-4-data-binding-string.html

这里有Formatting Types信息,且多为DateTime

这里是关于Silverlight Binding的完整文档。

+1

相关参考说只支持在Silverlight 4 http://msdn.microsoft.com/en-us/library/ system.windows.data.bindingbase.stringformat%28VS.95%29.aspx – russau 2010-05-25 01:37:11

1

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