Я работаю над приложением SL5 с C # и ищу его интернационализацию. Я нашел следующее, чтобы установить культуру пользовательского интерфейса:
var culture = new CultureInfo(Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName);
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Некоторые элементы управления, такие как DatePicker, похоже, подхватили это. Если я форматирую дату и время, используя строку формата 'd', я все равно получаю формат по умолчанию "M / dd / yyyy".
Как именно SL интерпретирует культуру и как ее правильно настроить для всего приложения?
Спасибо
UPDATE:
Нашел ответ:
Прежде всего, установите соответствующие культуры в Application_Startup:
var culture = new CultureInfo("nl-BE");
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
Ключевой элемент, однако, заключается в том, чтобы добавить следующее, чтобы заставить культуру / язык RootVisual:
var root = RootVisual as Page;
if (root != null)
{
root.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
}