【问题标题】:MVVMCROSS Changing Language in iOSMVVMCROSS 在 iOS 中更改语言
【发布时间】:2014-09-29 09:01:47
【问题描述】:

我正在尝试在 iOS 中使用 mvvmcross 实现多语言支持。 “语言”存储在核心(可移植库类)的.resx 文件中。

所以在 android 端它工作得很好......我只需要调用 recreathe()-Method 来重建视图。

我可以在 iOS 或 MVVMCROSS-Library 中调用一些类似的方法吗?我尝试了很多方法,但都没有成功。

我知道如何手动制作:

  • 删除所有子视图
  • 为每个移除的子视图创建新实例
  • 重新绑定
  • 将视图添加回子视图

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

【问题讨论】:

    标签: ios xamarin mvvmcross


    【解决方案1】:

    如果您的视图使用绑定(如我描述的 here )来显示字符串值的本地化版本,您唯一需要做的就是调用 RaisePropertyChanged(string.empty)RaiseAllPropertiesChanged() 在视图模型上

    当用户更改语言时,您可以广播一条消息(使用 MvmCross messenger),所有语言感知视图模型都会收听该消息,并且在处理此消息时,视图模型可以调用 RaisePropertyChanged(string.empty)RaiseAllPropertiesChanged()在视图模型上

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多