如何从Xamarin MvvmCross的核心ViewModel访问android的字符串资源

时间:2017-05-27 14:22:22

标签: xamarin xamarin.android mvvmcross

  • 我在 strings.xml
  • android中定义了一系列消息
  • 如何从Core
  • viewModel部分访问此邮件数组
  • 这是可能的,如果是这样的话。

了解此

的任何样本和文档

Event Handlers是唯一的方法吗?还是有更好的方式

2 个答案:

答案 0 :(得分:0)

您无法从Core程序集中访问strings.xml,因为Xamarin会将您的字符串资源作为Android项目中Resource类中的属性进行访问,并且您的Android项目依赖于Core,而不是其他四处走走。我会考虑在ViewModel中设置字符串的值,然后将控件绑定到它的值,而不是尝试从strings.xml检索它。对于TextView

,该绑定看起来像这样
<TextView
    android:id="@+id/your_control_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:MvxBind="Text YourTextProperty" />

答案 1 :(得分:0)

如果您的项目是多平台的,您可以use resx to localize it(此链接适用于Xamarin.Forms,但也适用于常规应用程序)。

否则,如果您真的想使用strings.xml,可以使用依赖注入为您的核心项目注入“字符串提供程序”。