我正在使用Mono For Android(可能会很快使用MonoTouch)和MVVM-Cross到Windows应用商店应用的端口(由另一个团队并行工作)。
不幸的是,Windows商店应用团队开始没有使用MVVM-Cross。这导致一些Windows特定的库(如Windows.ApplicationModel.Resources)分散在应该可以跨其他平台移植的代码中(例如,“Windows.ApplicationModel.Resources.ResourceLoader”用于本地化)。
我想知道是否有一些跨平台替代品(或者可能是mvvm-cross插件)用于其中一些Windows库。或者可能是如何创建我自己的插件/替代品的指导。
答案 0 :(得分:1)
有一个资源加载器插件,它使用Windows包内容文件和android资产文件。
用于(例如)客户管理示例以加载XML数据文件 - 请参阅https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CustomerManagement/CustomerManagement/CustomerManagement/Models/SimpleDataStore.cs
它也在json i18n插件内部使用。
如果您想在一个平台上使用不同的实现,那么您可以覆盖该平台的插件。
如果您想在所有平台上实现不同的实现,那么创建自己的插件或在每个平台上注入接口的实现应该很容易。请参阅Instantiation of ViewModels and Service classes
中对mvvmcross IOC的说明