2014-09-29 2 views
0

Я пытаюсь реализовать многоязычную поддержку с mvvmcross в iOS. «Языки» хранятся в файле .resx в ядре (Portable Library Class).MVVMCROSS Изменение языка в iOS

Так что на стороне андроида он отлично работает ... Я должен просто позвонить recreathe() -Метод, чтобы перестроить виды.

Есть ли подобный метод, который я могу вызвать в iOS или в MVVMCROSS-Library? Я много экспериментировал с несколькими методами, но без каких-либо успехов.

Я знаю, как сделать это вручную:

  • Удалить все подвиды
  • Создание новых экземпляров для каждого удаленного подвида
  • ли привязки снова
  • Добавить точку назад подобозрение

Но, честно говоря, это просто не может быть так. У кого-нибудь гораздо более гладкое предложение?

ответ

2

, если ваши взгляды использовать связывание (как я описал here) для отображения локализованной версии строковых значений, единственное, что вам нужно сделать, это позвонить RaisePropertyChanged(string.empty) или RaiseAllPropertiesChanged() на видовой-модели

Когда пользователя изменяет язык, вы можете транслировать сообщение (с помощью Messenger MvmCross), которое прослушивают все модели, поддерживающие знание языка, и при обработке этого сообщения модели просмотра могут затем вызвать или RaiseAllPropertiesChanged() на моделях просмотра

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