Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data binding Xamarin-MVVM跨数据绑定资源_Data Binding_Xamarin_Xamarin.android_Android Resources - Fatal编程技术网

Data binding Xamarin-MVVM跨数据绑定资源

Data binding Xamarin-MVVM跨数据绑定资源,data-binding,xamarin,xamarin.android,android-resources,Data Binding,Xamarin,Xamarin.android,Android Resources,我正在Xamarin启动一个跨平台的项目,我有一些怀疑是我阻止了开发。最初,该项目只针对android和UWP,但在不久的将来,它也将针对iOS 问题: 1.我想集中所有资源(如“名称”、“年龄”等标签的字符串),以便在3个平台中使用,并且当您必须编辑此字符串时,会对所有项目进行更改。还有什么更好的方法?我需要在所有平台的UI上进行数据绑定 [Xamarin.Android]我研究并听说过类似于“MVVMCross”的东西,但这迫使我扩展我的活动,比如说,拥有MVVMCross,Unessito

我正在Xamarin启动一个跨平台的项目,我有一些怀疑是我阻止了开发。最初,该项目只针对android和UWP,但在不久的将来,它也将针对iOS

问题: 1.我想集中所有资源(如“名称”、“年龄”等标签的字符串),以便在3个平台中使用,并且当您必须编辑此字符串时,会对所有项目进行更改。还有什么更好的方法?我需要在所有平台的UI上进行数据绑定

[Xamarin.Android]我研究并听说过类似于“MVVMCross”的东西,但这迫使我扩展我的活动,比如说,拥有MVVMCross,Unessito使用Android one ActionBar,为此我需要扩展一个可以扩展“AppCompatActivity”的类,只能扩展活动,因此无法从MVVMCross扩展活动

视频:

比如:

  • 对于资产,正确的方法是将资产保留在项目中,并且如果它们是通过PCL的常见资产?我这样问是因为安卓、iOS和UWP上的资产规模不同。什么是良好实践

  • 提前谢谢

    对于仅位于PCL中的字符串资源和翻译,我建议使用此库(实现起来非常简单): ,但您也可以尝试从PCL实现Resx文件

    将MvvmCross添加到您的项目中只是为了本地化将是非常疯狂的。 但是,如果您已经在项目中使用了MvvmCross,那么有一个用于翻译的插件在PCL级别使用json文件:

    对于问题2:您可以在PCL中添加资源,并从平台项目(ios/android/etc)加载它们,但这不会像加载平台资源那样明显(您需要额外的代码)。因此,您的资产和图像通常会在不同的PLATORM(不同的分辨率、dpi和设计风格指南)之间发生变化,因此尝试将它们放在一起可能会使事情变得复杂,而不是有所帮助

    关于使用特定的MvvmCross活动:这就是它的工作方式

    public abstract class BaseActivity: AppCompatActivity // (with MVVMCross use MvxAppCompatActivity )
    public class MainActivity: BaseActivity // (with MVVMCross use MvxActivity)