WinRT приложения и региональные настройки. Правильный способ форматирования дат и чисел на основе региональных настроек пользователя?

У меня есть некоторые проблемы в приложениях Windows 8 Metro (XAML и C #), касающиеся региональных настроек пользователя. Кажется, чтоapps won't respect user's regional settingsТаким образом, даже если в Windows 8 настроено отображение даты и времени в финском формате, приложения будут отображать их в американском формате. Но это такая большая проблема, что я должен что-то упустить?

Чтобы проверить это, я начал с созданияWPF-application, Приложение просто распечатывает CurrentCulture и отформатированный DateTime.Now:

    private void Culture_Loaded_1(object sender, RoutedEventArgs e)
    {
        this.Culture.Text = System.Globalization.CultureInfo.CurrentCulture.DisplayName;
    }

    private void Date_Loaded_1(object sender, RoutedEventArgs e)
    {
        this.Date.Text = DateTime.Now.ToString();
    }

Вот мои региональные настройки по умолчанию: Regional settings

При запуске приложение отображало дату в финском формате:

Finnish formatting

Затем я изменил региональные настройки на США: US Regional settings

И когда приложение снова запустилось, культура и форматирование изменились: US wpf formatting

Этоas I expected все работает, и я также ожидал, что приложения WinRT будут работать.

Поэтому в качестве следующего шага я создал приложение WinRT (XAML & C #) с тем же кодом и вернул региональные настройки обратно на финский. Эта проблема:

Winrt formatting

Даже когда в региональных настройках я определил, что форматирование должно быть «финским», приложение WinRT отображает дату и время в американском формате. Затем я изменил файл проекта приложения и сделалfi-FI the default language:

Default language

Это изменение также изменило культуру приложения:

Finnish winrt formatting

Странный. Я изменил язык по умолчанию обратно на его значение по умолчанию, и форматирование было восстановлено в США. Затем я создал папки "Strings - fi-FI" внутри проекта и добавилempty "Resources.resw" to the project, Этого пустого файла кажется достаточно, так как я теперь получал финское форматирование:

Resource file Finnish formatting

Как только я удаляю пустой файл ресурсов, форматирование возвращается к США:

Resource file removed US formatting winrt

Очень странно.

Это приводит к нескольким вопросам, но главный из них, на мой взгляд, заключается в следующем: намеренно ли WinRT-приложения не следуют региональным настройкам пользователя, как это делают приложения WPF?

Ответы на вопрос(4)

Ваш ответ на вопрос