【问题标题】:Format date shown on DatePicker格式化 DatePicker 上显示的日期
【发布时间】:2015-08-07 10:30:55
【问题描述】:

我在 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?还有那个“选择日期”。

【问题讨论】:

    标签: date datepicker windows-phone-8.1 format


    【解决方案1】:

    DatePicker 格式使用用户的首选语言和地区。此控件将自动看起来不同,对于我所在的地区,它是您希望的日/月/年。我试图强制控件使用其他语言,但它似乎是直接从手机设置中获取的。您可以在MSDN 找到一些信息:

    如果您需要允许用户选择日期或时间,请使用标准日期和时间选择器控件。这些将自动使用用户首选语言和地区的日期和时间格式。

    你可以找到here at MSDN about formating that particular control的其他坏消息:

    注意本部分适用于使用 C++、C# 或 Visual Basic 的 Windows 应用商店应用程序。在 Windows Phone Store 应用程序中,格式化会被忽略。

    因此,在当前的 API 中,可能很难更改格式。

    好消息是顶部的 CHOOSE DATE 文本 - 它会自动本地化,具体取决于用户的语言和地区。因此,如果您的应用程序支持用户的语言,您不必担心。但我还没有找到将其更改为其他文本的方法。

    至于按钮被点击之前显示在按钮内部的文本,你可以随时使用ButtonDatePickerFlyout,一个带有适当转换器的简单示例:

    <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(); }
    }
    

    【讨论】:

    • 我在手机上使用葡萄牙语(语言)和美国(地区)运行。卸载应用程序,清理解决方案,将地区更改为巴西,重新启动手机并重新安装应用程序。没有改变任何事情。
    • @GustavoMP 请检查设置->语言中的第一个语言是什么。还要检查你的应用是否支持pt-BR - 你有资源吗?是否设置为附加语言?
    • 就是这样。将清单中的语言更改为 pt-br 并创建资源。非常感谢。
    • @GustavoMP 清单中的语言可以是任何东西,最重要的是您已经为目标语言定义了资源,如果您使用多语言应用工具包,请选中 其他语言中的相应复选框我>。然后当用户在手机设置中选择目标语言时,应用程序将被安装/使用适当的字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2015-05-15
    • 2019-07-15
    • 1970-01-01
    • 2015-09-21
    相关资源
    最近更新 更多