WPF: Как изменить CurrentUICulture во время выполнения

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

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

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

Ответ 1

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

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

Локализация WPF - выбор языка на лету содержит дополнительную информацию.