Navigate 関数および Back 関数
Navigate
関数と Back
関数に引数を追加し、Power Apps アプリでユーザー インターフェイスを拡張する方法を見てみましょう。 構文では、角括弧はオプションのパラメーターを示します。
Navigate 関数
Navigate
構文の内訳は次のとおりです。
Navigate(Screen [, ScreenTransition [, UpdateContextRecord ]])
Screen
(必須) - 表示する画面 (または移動先の画面)。ScreenTransition
(オプション) - 現在の画面と次の画面の間で使うビジュアルの切り替えです。 既定値はNone
です。UpdateContextRecord
(オプション): 少なくとも 1 つの列の名前と、各列に対する値を含むレコードです。 このレコードにより、新しい画面に適用可能なコンテキスト変数が更新されます。
つまり、どの画面に移動するかを Power Apps に知らせるために、最初のパラメータを指定する必要があります。 2 番目のパラメーターを使用して、前の画面が新しい画面に移行する際に視覚的にどのように変化するかを定義します。 3 番目のパラメーターを使用して、新しい画面にコンテキスト値を渡すことができます。
Back 関数
Back
構文の内訳は次のとおりです。
Back([ScreenTransition])
-
ScreenTransition
(オプション) - 現在の画面と次の画面の間で使うビジュアルの切り替えです。 既定値では、Navigate
関数で移動した画面から逆の画面への切り替えが行われます。
アプリに Back
を追加する場合は、括弧を含む必要があります: Back()
。
Back
関数では、ユーザーは直前に表示されていたアプリの画面に戻ります。 ユーザーが他の画面に移動すると、アプリは画面のパスと使用された遷移を追跡します。 したがって、Back
関数を実行すると、逆の画面遷移も実行されます。 ユーザーは、Back
を使用してアプリを開いたに表示される画面まで戻ることができます。
画面遷移
画面遷移は、Navigate
式と Back
式の両方の一部となりうるため、これについて詳しく見てみましょう。 これらのオプションは Power Apps で使用可能です:
ScreenTransition.Cover
: 現在の画面を覆うように、新しい画面が右から左にスライドして現在の画面をカバーします。ScreenTransition.CoverRight
: 現在の画面を覆うように、新しい画面が左から右にスライドして現在の画面をカバーします。ScreenTransition.Fade
: 現在の画面がフェードアウトし、新しい画面が表示されます。ScreenTransition.None
(既定値): 前の画面が新しい画面にすばやく置き換わります。ScreenTransition.UnCover
: 前の画面が右から左へとビューの外にスライドし、新しい画面が現れます。ScreenTransition.UnCoverRight
: 前の画面が左から右へとビューの外にスライドし、新しい画面が現れます。
例
Navigate
と Back
の両方に対して遷移を使用する式の例を、次のテーブルでいくつか紹介します。 この表には、Navigate
の例における UpdateContextRecord
パラメーターの一部も含まれているので、自身のアプリでそれらがどのように見えるかをビジュアル化することができます。
式 | 説明 | 結果 |
---|---|---|
Navigate(Details) |
切り替えやコンテキスト変数の値の変更なしで Details 画面を表示します。 |
Details 画面がすぐに表示されます。 |
Navigate(Details, ScreenTransition.Fade) |
Fade の遷移を使用して Details 画面を表示します。 コンテキスト変数の値は変更されません。 |
現在の画面がフェード アウトして、Details 画面が表示されます。 |
Navigate(Details, ScreenTransition.Fade, {ID: 12}) |
Fade の遷移を使用して Details 画面を表示します。 ID コンテキスト変数の値を 12 に更新します。 |
現在の画面がフェード アウトして、Details 画面が表示されます。また、画面上のコンテキスト変数 ID が 12 に設定されます。 |
Navigate(Details, ScreenTransition.Fade, {ID: 12 , Shade: Color.Red}) |
Fade の遷移を使用して Details 画面を表示します。 ID コンテキスト変数の値を 12 に更新します。 Shade コンテキスト変数の値を Color.Red に更新します。 |
現在の画面がフェード アウトして、Details 画面が表示されます。 Details 画面上のコンテキスト変数 ID が 12 に設定され、コンテキスト変数 Shade が Color.Red に設定されます。 Details 画面でコントロールの Fill プロパティを Shade に設定すると、そのコントロールは赤で表示されます。 |
Back() |
デフォルトの戻る遷移を使用して前の画面を表示します。 | アプリは、現在の画面が表示された際に使用された切り替えの逆の切り替えを使用して前の画面を表示します。 |
Back(ScreenTransition.Cover) |
Cover 遷移を使用して前の画面を表示します。 |
アプリは、現在の画面が表示された際に使用された切り替えに関係なく、Cover 遷移を使用して前の画面を表示します。 |
ようやくすると、Navigate
関数および Back
関数は、それぞれのパラメーターを活用してカスタマイズできます。 ユーザーは、Navigate
関数を使用して単純に別の画面に切り替えることもできますが、視覚的な切り替えを追加し、さらにプロセス内でコンテキスト変数を設定することもできます。 Back
関数では、ユーザーが現在の画面に移動したときに使用した切り替えの逆を使用するか、切り替えを定義することができます。 ユーザー エクスペリエンスをどうデザインするかは、作成者次第です。
ここまでは、アプリにナビゲーションを追加するために OnSelect
関数のみを使用してきました。 次のユニットでは、アプリのナビゲーションを追加する別の方法について説明します。