Windows Phone 7のナビゲーションフレームワークは、Silverlightにあるものの縮小版です。Uriに移動することはできますが、ビューを渡すことはできません。NavigationServiceはビューに関連付けられているため、どのようにしてこれをMVVMに適合させることができますか。例えば:
public class ViewModel : IViewModel
{
private IUnityContainer container;
private IView view;
public ViewModel(IUnityContainer container, IView view)
{
this.container = container;
this.view = view;
}
public ICommand GoToNextPageCommand { get { ... } }
public IView { get { return this.view; } }
public void GoToNextPage()
{
// What do I put here.
}
}
public class View : PhoneApplicationPage, IView
{
...
public void SetModel(IViewModel model) { ... }
}
UnityIOCコンテナを使用しています。最初にビューモデルを解決してから、Viewプロパティを使用してビューを取得してから表示する必要があります。ただし、NavigationServiceを使用して、ビューUriを渡す必要があります。最初にビューモデルを作成する方法はありません。これを回避する方法はありますか?