複数のビューを1つのViewModelに関連付ける方法に関するガイダンスを探しています。私たちは、Xamarin.Forms Portable(VS.NET 2017)とCaliburn.MicroをMVVMフレームワークとして使用してアプリケーションを開発しています。Xamarin.Forms Caliburn.Micro - 複数のビューを1つのViewModelに関連付けます
- ビューが表示されます/Views/DemoView.Xaml
- としてのViewModelが表示されます/ViewModels/DemoViewModel.cs App.csで
として、DemoViewは、以下のラインを介して呼び出され、すべて正常に動作します:
- DisplayRootView <(DemoView)>();
ここで問題となるのは、モバイルとタブレット用に異なるビューを読み込む必要があることです。次のように私は/ビューの下に新しいフォルダ構造を作成: - /Views/Demo/Mobile.xaml - /Views/Demo/Tablet.xaml
質問(条件に基づいて、関連するビューをロードする方法でありますDevice.Idiom)、上記の2つのビューをDemoViewModelと関連付ける方法が必要であることがわかっています。
これは、依然として/Views/DemoView.Xaml(それが既に/ViewModels/DemoViewModel.csに関連付けられていることを知っている)が仲介者として動作し、前述の条件に基づいて正しいビューを読み込むことを意味しますか? ?
私たちがロードしようとするビューは、他のViewModelをItemsコレクションに追加することで、DemoViewModel(Conductor.Collection.OneActiveを実装する)内の他のページをロードするタブ付きページです。
おかげで、 P.