在XAML中,我有类似的东西:
Text="{Binding my_date, StringFormat=\{0:ddd M/d/yy\}}"
目前它输出的内容如 Mon 12/23/13
我希望它能够遵守区域和语言设置日期时间格式,因此如果他们选择yy / mm / dd,它应该以正确的格式显示日期。我知道pa“d”应该这样做,从这里开始:http://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.110%29.aspx
但出于某种原因,当它与格式化程序的其余部分合并为
时Text="{Binding my_date, StringFormat=\{0:ddd d\}}"
然后它无法正常工作。在这种情况下我应该使用的正确格式是什么?
答案 0 :(得分:1)
Standard和custom字符串不能合并为单个字符串格式。这需要分两步完成:
var weekday = my_date.ToString("ddd");
var day = my_date.ToString("d");
var both = string.Format("{0} {1}", weekday, day);
在XAML中,这将更加冗长,但以下内容应该有效(这是未经测试的):
<TextBlock.Text>
<MultiBinding StringFormat="\{0\} \{1\}">
<Binding Path="my_date" StringFormat="ddd" />
<Binding Path="my_date" StringFormat="d" />
</MultiBinding>
</TextBlock.Text>