表示する画面を変更します。

概要

ほとんどのアプリには、複数の画面が含まれます。 Back および Navigate 関数を使用して、表示する画面を変更します。 たとえば、ユーザーがボタンを選択したときに別の画面を表示する場合は、Navigate 関数が含まれた数式に、ボタンの OnSelect プロパティを設定します。 その数式では、Fade などのビジュアルの切り替えを指定することで、画面の切り替わり方を選択できます。

Back および Navigate で変更できるのは、表示する画面のみです。 現在表示されていない画面は、バックグラウンドで引き続き動作します。 別の画面上のコントロールのプロパティを参照する数式を作成できます。 たとえば、いずれかの画面上のスライダーの値を変更した後、数式内でその値を使用する別の画面に移動し、この値が新しい画面にどのように影響するかを確認することができます。 その後、元の画面に戻り、スライダーの値が保持されていることを確認できます。

ユーザーが画面間を移動したとき、コンテキスト変数も保持されます。 Navigate を使用して、数式で表示される画面に 1 つ以上のコンテキスト変数を設定できます。これは、画面外からコンテキスト変数を設定する唯一の方法です。 このアプローチにより、画面にパラメーターを渡すことができます。 他のプログラミング ツールを使用したことがあれば、このアプローチはプロシージャにパラメーターを渡す処理に似ています。

説明

Back

Back 関数では、最後に表示された画面が表示されます。 この関数では引数は指定しません。

Navigate

最初の引数で、表示する画面の名前を指定します。

2 番目の引数で、前の画面がどのように新しい画面に変化するかを指定します。

切り替えの引数 説明
ScreenTransition.Cover 新しい画面が、現在の画面を覆うようにスライドしながら表示されます。
ScreenTransition.Fade 前の画面がフェードアウトし、新しい画面が表示されます。
ScreenTransition.None 前の画面が新しい画面にすばやく置き換わります。
ScreenTransition.UnCover 前の画面がスライドしながら画面外に移動し、その下から新しい画面が現れます。

Navigate を使用して、新しい画面のコンテキスト変数を作成または更新できます。 省略可能な 3 番目の引数として、コンテキスト変数の名前 (名として) とコンテキスト変数の新しい値を含むレコードを渡します。 このレコードは、UpdateContext 関数で使用するレコードと同じです。

前の画面の OnHidden プロパティまたは新しい画面の OnVisible プロパティ、あるいはその両方を設定して、切り替え時の追加の変更を実施します。 App.ActiveScreen プロパティが更新され、変更が反映されます。

Back は通常は true を返しますが、ユーザーが最初の画面を表示していて前の画面が存在しない場合は、false を返します。 Navigate は通常は true を返しますが、いずれかの引数に問題がある場合は、false を返します。

これらの関数は、動作の数式内でのみ使用できます。

構文

Back()

Navigate( Screen, Transition [, UpdateContextRecord ] )

  • Screen - 必須。 表示する画面。
  • Transition - 必須。 現在の画面と次の画面の間で使用するビジュアルの切り替え。 このトピックで既に掲載した、この引数の有効な値の一覧を参照してください。
  • UpdateContextRecord - 省略可能。 1 つ以上の列の名前と、その列ごとの値を含むレコード。 このレコードは、UpdateContext 関数に渡されたときのように、新しい画面のコンテキスト変数を更新します。

数式 説明 結果
Navigate( Details, ScreenTransition.None ) 切り替えもコンテキスト変数の値の変更もせずに、Details 画面を表示します。 Details 画面がすばやく表示されます。
Navigate( Details, ScreenTransition.Fade ) Details 画面を Fade 切り替えで表示します。 コンテキスト変数の値は変更されません。 現在の画面がフェードアウトし、Details 画面が表示されます。
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Details 画面を Fade 切り替えで表示し、コンテキスト変数 ID の値を 12 に更新します。 現在の画面がフェードアウトし、Details 画面が表示され、画面上のコンテキスト変数 ID の値が 12 に設定されます。
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Details 画面を Fade 切り替えで表示します。 コンテキスト変数 ID の値を 12 に更新し、コンテキスト変数 Shade の値を Color.Red に更新します。 現在の画面がフェードアウトし、Details 画面が表示されます。 Details 画面上のコンテキスト変数 ID12 に設定され、コンテキスト変数 ShadeColor.Red に設定されます。 Details 画面上のコントロールの Fill プロパティを Shade に設定した場合、そのコントロールは赤色で表示されます。

ステップバイステップ

  1. 既定の画面に DefaultScreen という名前を付け、ラベルを追加します。そのラベルの Text プロパティを設定して、Default と表示させます。

  2. 画面を追加し、AddlScreen という名前を付けます。

  3. AddlScreen にラベルを追加し、ラベルの Text プロパティを設定して、Addl と表示させます。

  4. AddlScreen にボタンを追加し、このボタンの OnSelect プロパティを次の関数に設定します。
    Navigate(DefaultScreen, ScreenTransition.Fade)

  5. AddlScreen で F5 キーを押し、ボタンを選択します。
    DefaultScreen が表示されます。

その他の例