Проблема обновления ресурсов WPF - PullRequest
0 голосов
/ 10 марта 2011

Я использую мультиязычный раствор из этой темы Мультиязычный в WPF Но у меня проблема с автоматическим обновлением ресурсов после изменения языка Старые строки остаются на старом языке, новые правильно пересекаются.

Как проще всего решить эту проблему, например обновить все ресурсы в приложении?

Ответы [ 2 ]

2 голосов
/ 11 марта 2011

Я также работал с локализацией.Проблема в том, что изменения, которые вы вносите в информацию о культуре во время работы приложения, не будут отображаться в пользовательском интерфейсе.Значения для элементов управления изменяются, но об изменении не сообщается пользовательскому интерфейсу элемента управления.Насколько я гуглил, я не нашел разумного решения для автономных приложений.Даже InitializeComponents не справляются с задачей.

Единственное решение, хотя оно мне не очень нравится, - это изменить культуру, а затем запустить пакет, который закроет и перезапустит приложение сВыбранная информация о культуре.

Причина, по которой мне это не нравится, заключается в том, что вы полагаетесь на внешний файл (пакет), а не все приложения могут быть просто перезапущены таким образом.Но это может помочь.

0 голосов
/ 10 марта 2011

Самое простое решение, которое я нашел, - это просто снова открыть окно - если вы работаете с MVVM, все состояние (или важное состояние в любом случае) сохраняется во ViewModel (s) и обновляется только представление.

Я не использовал расширение, с которым вы связались, но любая из этих более продвинутых систем должна обрабатывать обновление автоматически.В моем случае я просто использовал ссылки на ресурсы {x: Static res: ResourceName} и обновлял представление при смене языка.Конечно, я не разрешаю менять язык на более сложных экранах ... :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...