我需要重新格式化包含日期的字符串,而不使用后面的代码。字符串的格式为YY / MM / DD,但需要为MM / DD / YYYY。我已经看到这给了一个Date对象,但是我受限制因为它是一个字符串。
到目前为止,似乎我需要代码来执行此操作,但目前我们的供应商不支持。
答案 0 :(得分:0)
您可以在Binding上使用StringFormat属性来格式化绑定数据。如果在XAML中有String,则可以将其作为静态源绑定到TextBlock的Text属性,并通过StringFormat重新格式化。有关详细信息,请参阅此post。
答案 1 :(得分:0)
由于询问了有关仅XAML字符串格式的问题,以下是您在XAML中指定StringFormat
的方法:
简单:
StringFormat=d
朗手:(注意转义大括号)
StringFormat='\{0:d\}'
自定义:(添加文字)
StringFormat='The date is \{0:d\}'
使用TextBox
整个StringFormat
:
<TextBox Text="{Binding myProperty, StringFormat='The date is \{0:d\}'}"
语法与String.Format相同;但是:
所有这一切,你要做的不仅仅是格式化日期,而是你试图将字符串解析为DateTime
,然后将DateTime
格式化为字符串。在这两个步骤中,只有后者可以在XAML中完成。这是悲伤的时期,但毕竟,XAML是用于标记,而不是计算。
从好的方面来说,如果您能够在项目中引用另一个程序集,则可以实现IValueConverter
,这样您就可以将输入字符串转换为DateTime
,那么XAML中的StringFormat就可以了。或者,您的IValueConverter
只能以指定的格式导出日期。