Я вижу странную вещь.Когда мы запускаем нашу программу в отладчике VS 2010, я могу переключиться на использование любых других строк ресурсов нашей другой культуры, и они прекрасно загружаются в пользовательском интерфейсе.Однако при создании и запуске в качестве автономного приложения WPF меняются только такие вещи, как числа (0,000 -> 0,000) в текстовых полях.Код, который мы используем для динамического сброса на другой язык:
private void ResetCulture(string culture)
{
// Reset the culture and reload the resources
var ci = new CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
Messenger.Default.Send<CultureInfo>(ci);
}
Примечание. Messenger поставляется из набора инструментов MVVM Light (этот код используется как для WPF, так и для Silverlight).Наконец, я должен упомянуть, что этот код прекрасно работает в Silverlight.
Кто-нибудь имеет представление о том, почему WPF не сотрудничает при загрузке строк ресурсов новой культуры?