Prism.Unity.Formsで画面遷移先にメッセージ(テキスト)を飛ばす

はじめに 

今回は、Prism.Unity.Formsで画面遷移元のメッセージを画面遷移先に飛ばして表示する方法について記載します。
ベースにするソースコードは、こちらになります。

 
概要は、以下のとおりです。
  1. MainPage(画面遷移元)にテキスト入力(Entryタグ)を配置する。
  2. 画面遷移ボタンが押下された時、入力されているメッセージをMyContentPage(画面遷移元)に渡す。
  3. MyContentPageで受け取ったメッセージをMyContentPage内で表示させるためのLabelタグを配置する。
  4. MainPage画面から渡されたメッセージを表示する

MainPage(画面遷移元)にテキスト入力(Entryタグ)を配置する。

MainPage.xamlに、MyContentPageに表示させるメッセージ(Entryタグ)を追加します。
下図は、入力する場所がわかりやすくするためにLabelタグも追加しています。



画面遷移ボタンが押下された時、入力されているメッセージをMyContentPage(画面遷移元)に渡す

MainPageViewModel.csに追加します。
まずは、Entryタグから入力されたテキストを保持するためのプロパティを追加します。


次に画面遷移ボタンが押下イベントにEntryタグのプロパティを渡します。
NavigationParameter型にEntryタグのプロパティを設定し、NavigationService.NavigationAsyncメソッドの第2引数にパラメータを設定します。

MyContentPageで受け取ったメッセージをMyContentPage内で表示させるためのLabelタグを配置する

MyContentPage.xamlに画面遷移元から渡されたメッセージを表示するためのLabelタグを追加します。


MainPage画面から渡されたメッセージを表示する

MyContentPageViewModel.csにMainPage画面から渡されたメッセージを保持するプロパティとそのメッセージを表示する処理を追加します。


メッセージを表示するタイミングは、画面遷移時のOnNavigatedToメソッドで行います。
このメソッドは、継承元のViewModelsBaseクラスでも記述されていますが、MyContentPageViewModel.csにも記述します。


以上で終了です。
ソースコードは、GithubにもUpしてあります。




0 件のコメント:

コメントを投稿