1

私はMono For Android(おそらくMonoTouchをすぐに使用するでしょう)とMVVM-Crossを使用してWindowsストアアプリを移植しています(並行して別のチームによる進行中の作業)。

残念ながら、Windows ストア アプリ チームは MVVM-Cross を使用せずに開始しました。これにより、一部の Windows 固有のライブラリ (Windows.ApplicationModel.Resources など) が、他のプラットフォーム間で移植可能なコードに散在することになります (たとえば、"Windows.ApplicationModel.Resources.ResourceLoader" がローカリゼーションに使用されました)。

これらの Windows ライブラリの一部に、クロスプラットフォームの代替 (または mvvm-cross プラグイン) があるかどうか疑問に思っていました。または、独自のプラグイン/代替を作成する方法に関するガイダンスになる場合があります。

4

1 に答える 1

1

Windows パッケージ コンテンツ ファイルと Android アセット ファイルを使用する resourceloader プラグインがあります。

https://github.com/slodge/MvvmCross/blob/v3/Plugins/Cirrious/ResourceLoader/Cirrious.MvvmCross.Plugins.ResourceLoader.WindowsStore/MvxStoreResourceLoader.csを参照してください。

XML データ ファイルをロードするために、(たとえば) 顧客管理サンプルで使用されます。 /Models/SimpleDataStore.cs

また、json i18n プラグインで内部的に使用されます。

あるプラットフォームで別の実装が必要な場合は、そのプラットフォームだけのプラグインをオーバーライドできます。

すべてのプラットフォームで異なる実装が必要な場合は、独自のプラグインを作成するか、各プラットフォームにインターフェイスの実装を挿入するのは簡単です。ViewModels と Service クラスのインスタンス化の mvvmcross IOC の説明を参照してください。

于 2013-06-12T14:46:13.020 に答える