我在Visual Studio 2013上创建了一个Pivot项目。
我创建了以下控件:
<DatePicker Header="Data" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0" Width="341"/>
当我在手机上点按它时,它会将日期显示为M / D / Y.是否可以将其显示为D / M / Y?
另外,不知道我是否应该创建另一个问题,但是如何将pt-BR转换为控件中显示的日/月名称?以及“选择日期”。
答案 0 :(得分:2)
DatePicker 格式使用用户首选的语言和区域。此控件将自动显示不同,对于我的区域,它是您希望的日/月/年。我试图强制控件使用其他语言,但它似乎直接从手机设置。您可以在MSDN找到一些信息:
如果您需要允许用户选择日期或选择时间,请使用标准日期和时间选择器控件。这些将自动使用用户首选语言和区域的日期和时间格式。
您可以找到here at MSDN about formating that particular control的其他坏消息:
注意本节适用于使用C ++,C#或Visual Basic的Windows应用商店应用。 Windows Phone应用程序中忽略格式化。
因此,在当前的API中,可能很难更改格式。
好消息是顶部的CHOOSE DATE
文本 - 它会自动本地化,具体取决于用户的语言和区域。因此,如果您的应用支持用户的语言,则无需担心。但我没有办法将其改为其他文本。
对于单击按钮之前显示的文本,您可以随时使用按钮和 DatePickerFlyout ,这是一个适当的转换器的简单示例:
<Button Content="{Binding ElementName=chosenDate, Path=Date, Converter={StaticResource DateFormatConverter}}">
<Button.Flyout>
<DatePickerFlyout x:Name="chosenDate" />
</Button.Flyout>
</Button>
和转换器类:
public class DateFormatConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
DateTimeOffset chosen = (DateTimeOffset)value;
return string.Format("{0}/{1}/{2}", chosen.Day, chosen.Month, chosen.Year);
// or use chosen.ToString() with format provider
}
public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotImplementedException(); }
}