2014-09-29 79 views
0

我正试图在iOS中使用mvvmcross实现多语言支持。 “语言”存储在核心(便携库类)中的.resx文件中。MVVMCROSS在iOS中更改语言

所以在android方面它的工作很棒......我只是打电话给recreathe() - 方法来重建视图。

是否有一些类似的方法可以在iOS或MVVMCROSS-Library中调用?我用几种方法进行了很多实验,但没有取得任何成功。

我知道如何使它手动:

  • 删除所有子视图
  • 为每个已删除子视图创建新实例
  • 执行绑定再次
  • 添加的意见回子视图

但说实话,这不可能是这样。 有没有人有更圆滑的建议?

回答

2

,如果您的视图使用结合(像我描述here)来显示字符串值的本地化版本,你需要做的唯一的事情是调用视图的模型 RaisePropertyChanged(string.empty)RaiseAllPropertiesChanged()

当用户改变语言,你可以广播一个消息(使用MvmCross messenger),所有语言意识的视图模型都可以听,并且在处理这个消息时,视图模型可以在视图上调用RaisePropertyChanged(string.empty)RaiseAllPropertiesChanged()模型