我试图在iOS中使用mvvmcross实现多语言支持。 "语言"存储在核心(可移植库类)中的.resx
文件中。
所以在android方面它的效果很好......我只需调用recreathe()
- 方法来重建视图。
我可以在iOS或MVVMCROSS-Library中调用一些类似的方法吗?我用几种方法进行了很多实验,但没有取得任何成功。
我知道如何手动制作:
但老实说,这不可能是它的方式。 有人提出更圆滑的建议吗?
答案 0 :(得分:2)
如果你的视图使用绑定(就像我描述的here)来显示字符串值的本地化版本,你唯一需要做的就是调用
视图模型上的RaisePropertyChanged(string.empty)
或RaiseAllPropertiesChanged()
当用户更改语言时,您可以广播一条消息(使用MvmCross messenger),所有语言感知视图模型都会监听该消息,并且在处理此消息时,视图模型可以调用RaisePropertyChanged(string.empty)
或{视图模型上的{1}}