2013-03-15 63 views
0

试图格式化我的XAML使用Silverlight 5日期时间绑定值,像这样:自定义日期格式在Silverlight结合

<TextBlock Text="{Binding ContactDate, Mode=OneWay, StringFormat={}{0:'dd/MM/yyyy'}}" Margin="5,0" /> 

,我发现了以下错误:标记扩展结束后 意外的标记。

这让我疯狂!

回答

1

尝试: 文本= “{结合ContactDate,模式=单向,的StringFormat = '{} {0:DD/MM/YYYY}'}”

除非你的意思是你之前和之后的希望singlequotes日期字符串。

+0

不,我不想单引号显示。你的格式字符串至少编译没有错误,但现在它只是忽略它。该值仍显示为2012/02/29 00:00:00,完全没有格式化。 – Neville 2013-03-18 15:08:25

+0

在这种情况下,可能在代码中的某处将ContactDate属性转换为字符串,然后DataBinding有机会应用格式设置,因为我使用的是非常类似的绑定。你可以在绑定上放一个调试断点,并在数据绑定时验证源是一个DateTime吗? – 2013-03-18 18:52:15

+0

非常感谢Boluc,你是对的。我实际上故意将它作为字符串转换成一个用linq查询动态创建的自定义实体。最终不得不编写一个小型转换器,因为ContactDate通常会有空值,这是我能够使其工作的唯一方法。 – Neville 2013-03-19 13:52:29