提醒日期是美国格式(mm / dd / yyyy)默认情况下我猜。如何操作提醒集合并将日期格式化为英国格式,以便listBox将显示如下提醒:
开始日期(英文格式或非美国格式)
内容
MyReminders = ScheduledActionService.GetActions()
.Where(a => a.BeginTime.Date == Today);
foreach (Reminder r in MyReminders)
{
// How to change the date format to British in each of the reminder and display
in the listBox?
}
ReminderListBox.ItemsSource = MyReminders;
In the list Box :
<ListBox Name="ReminderListBox" Margin="1,116,-2,4" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent" Margin="0,0,0,30">
<StackPanel Orientation="Horizontal" >
<TextBlock Text="begin "/>
<TextBlock Text="{Binding BeginTime}" HorizontalAlignment="Right"/>
</StackPanel>
</Grid>
</DataTemplate/>
</ListBox.ItemTemplate/>
</ListBox />
问题:我不想在列表框中设置日期格式。我想动态检测语言环境,并根据检测到的区域设置显示日期格式,以及Jpn,Kor,中国的非美国格式
答案 0 :(得分:1)
您的列表框模板是什么样的?你应该能够使用格式说明符“d”(短日期)或“D”(长日期)选择文化的“正确”日期格式......我希望你成为能够从XAML做到这一点,而不是改变其他任何东西。
请注意,DateTime
本身并非具有格式 - 因此您不能将该值设置为“in”UK格式。
编辑:我想你想要:
{Binding BeginTime, StringFormat=d}
或者如果你想强制一种特定的格式(我不推荐)
{Binding BeginTime, StringFormat=dd/MM/yyyy}