はじめに
今回は、Prism.Unity.Formsで画面遷移元のメッセージを画面遷移先に飛ばして表示する方法について記載します。
ベースにするソースコードは、こちらになります。
概要は、以下のとおりです。
- MainPage(画面遷移元)にテキスト入力(Entryタグ)を配置する。
- 画面遷移ボタンが押下された時、入力されているメッセージをMyContentPage(画面遷移元)に渡す。
- MyContentPageで受け取ったメッセージをMyContentPage内で表示させるためのLabelタグを配置する。
- MainPage画面から渡されたメッセージを表示する
MainPage(画面遷移元)にテキスト入力(Entryタグ)を配置する。
MainPage.xamlに、MyContentPageに表示させるメッセージ(Entryタグ)を追加します。
下図は、入力する場所がわかりやすくするためにLabelタグも追加しています。
画面遷移ボタンが押下された時、入力されているメッセージをMyContentPage(画面遷移元)に渡す
MainPageViewModel.csに追加します。
まずは、Entryタグから入力されたテキストを保持するためのプロパティを追加します。
NavigationParameter型にEntryタグのプロパティを設定し、NavigationService.NavigationAsyncメソッドの第2引数にパラメータを設定します。
MyContentPageで受け取ったメッセージをMyContentPage内で表示させるためのLabelタグを配置する
MyContentPageViewModel.csにMainPage画面から渡されたメッセージを保持するプロパティとそのメッセージを表示する処理を追加します。
メッセージを表示するタイミングは、画面遷移時のOnNavigatedToメソッドで行います。
以上で終了です。
このメソッドは、継承元のViewModelsBaseクラスでも記述されていますが、MyContentPageViewModel.csにも記述します。
ソースコードは、GithubにもUpしてあります。