Xamarin.Forms PrismでMVVM入門 NavigationServiceでページ遷移

こんにちは。レモンティーです。

前回はViewModelのお話でした。
www.sawalemontea.com


今回は、Prismでのページ遷移です。

using Prism.Navigation;

が必要です。

PageAからPageBに遷移するコードは、具体的には以下のようになります。
(PageAViewModelというのはPageAのコンストラクタです。)

private INavigationService _navigationService;

public PageAViewModel(INavigationService navigationService)
{
    _navigationService = navigationService;
}

としておいて、実際に遷移させたい時に

_navigationService.NavigateAsync("PageB");

とします。"PageB"は遷移先の名前です。

前のページに戻る場合(PopAsyncの働き)は

_navigationService.GoBackAsync();

です。

遷移時にオブジェクトを渡したい場合は↓
www.sawalemontea.com


このとき、PageAやPageBは
共有プロジェクトのApp.xaml.csの
RegisterTypesメソッドに登録してある必要があるのですが、
普通はViewとViewModelが追加された時に自動で追加されるので
意識する必要はないです。

(これ↓です。)
f:id:sawalemontea:20180430200225p:plain

もし必要なページが自動で追加されていなければ、
この形式に従って登録してあげればOKです。


今回はこれでおしまいです。
www.sawalemontea.com