2011-01-07 5 views
10

Я пытаюсь изменить язык, используемый моим WPF-приложением в событии click, но он не изменяется.WPF: Как изменить CurrentUICulture во время выполнения

private void menuItemGerman_Click(object sender, RoutedEventArgs e) 
{ 
    Settings.Default.Culture = "de-DE"; 

    Thread.CurrentThread.CurrentCulture = new CultureInfo(Settings.Default.Culture); 
    Thread.CurrentThread.CurrentUICulture = new CultureInfo(Settings.Default.Culture); 
} 

Что мне не хватает?

+2

Изменение культуры не преобразует текст вашего пользовательского интерфейса автоматически. Он делает много вещей, не то. Предоставляли ли вы какие-либо немецкие текстовые переводы? –

ответ

7

Что мне не хватает?

Вы изменили культуру, зарегистрированную в потоке, и String.Format будет использовать это сейчас, но вам нужно перезагрузить все локализованные элементы в иерархии WPF.

WPF Localization – On-the-fly Language Selection имеет дополнительную информацию.

Смежные вопросы