Aplikacje WinRT i ustawienia regionalne. Właściwy sposób formatowania dat i numerów na podstawie ustawień regionalnych użytkownika?
Mam problemy z aplikacjami Metro w systemie Windows 8 (XAML i C #) dotyczące ustawień regionalnych użytkownika. Wydaje się, żeaplikacje nie będą respektować ustawień regionalnych użytkownika, więc nawet jeśli system Windows 8 jest ustawiony na wyświetlanie dat i godzin w formacie fińskim, aplikacje będą nadal wyświetlać je w formacie amerykańskim. Ale to jest taki duży problem, że czegoś mi brakuje?
Aby to sprawdzić, zacząłem od utworzeniaAplikacja WPF. Aplikacja po prostu wypisuje CurrentCulture i sformatowany 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();
}
Oto moje domyślne ustawienia regionalne:
Po uruchomieniu aplikacja wyświetlała datę w formacie fińskim:
Następnie zmieniłem ustawienia regionalne na USA:
A kiedy aplikacja została uruchomiona ponownie, kultura i formatowanie uległy zmianie:
To jestjak oczekiwałem wszystko do pracy i tak też oczekiwałem, że aplikacje WinRT będą działać.
W kolejnym kroku stworzyłem aplikację WinRT (XAML & C #) z tym samym kodem i przywróciłem ustawienia regionalne z powrotem do fińskiego. Problem:
Nawet jeśli w ustawieniach regionalnych zdefiniowałem, że formatowanie ma być „fińskie”, aplikacja WinRT wyświetla datetime z formatowaniem amerykańskim. Następnie zmodyfikowałem plik projektu aplikacji i zrobiłemfi-FI domyślny język:
Ta zmiana zmodyfikowała także kulturę aplikacji:
Dziwne. Zmieniłem język domyślny z powrotem na wartość domyślną, a formatowanie zostało przywrócone do USA. Następnie stworzyłem foldery „Strings - fi-FI” wewnątrz projektu i dodałemopróżnij „Resources.resw” do projektu. Wydaje się, że ten pusty plik jest wystarczający, ponieważ otrzymywałem teraz fińskie formatowanie:
Po usunięciu pustego pliku zasobów formaty powracają do USA:
Bardzo dziwny.
Prowadzi to do kilku pytań, ale głównym moim zdaniem jest: czy jest celowe, aby aplikacje WinRT nie podążały za regionalnymi ustawieniami użytkownika, takimi jak aplikacje WPF?