PowerApps の動作の数式についてUnderstand behavior formulas in PowerApps

ほとんどの数式は、値を計算するために使用します。Most formulas calculate a value. Excel のスプレッドシートと同様に、値が変わると再計算が自動的に行われます。Like an Excel spreadsheet, recalculation happens automatically as values change. たとえば、ラベル コントロールの値が 0 未満の場合は値を赤で表示し、それ以外の場合は値を黒で表示することができます。For example, you might want to show the value in a Label control in red if the value is less than zero or in black otherwise. そのためには、そのコントロールの Color プロパティを次の数式に設定します。So you can set the Color property of that control to this formula:
If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )

このコンテキストにおいて、ユーザーがボタン コントロールを選択したらどうなるでしょうか。In this context, what does it mean when the user selects a Button control? 値は変更されていません。したがって、新しく計算するものはありません。No value has changed, so there is nothing new to calculate. Excel には、ボタン コントロールに相当するものがありません。Excel has no equivalent to a Button control.

ボタン コントロールを選択することによって、ユーザーは、アプリの状態を変更する一連のアクションまたは動作を開始します。By selecting a Button control, the user initiates a sequence of actions, or behaviors, that will change the state of the app:

これらの関数はアプリの状態を変更するため、自動的に再計算することはできません。Because these functions change the state of the app, they can't be automatically recalculated. これらは、動作の数式と呼ばれる、OnSelectOnVisibleOnHidden、およびその他の On... プロパティの数式で使用できます。You can use them in the formulas for the OnSelect, OnVisible, OnHidden, and other On... properties, which are called behavior formulas.

複数のアクションMore than one action

実行するアクションのリストを作成するには、セミコロンを使用します。Use semicolons to create a list of actions to perform. たとえば、コンテキスト変数を更新して前の画面に戻るには、次のように指定します。For example, you might want to update a context variable and then return to the previous screen:

  • UpdateContext( { x: 1 } ); Back()UpdateContext( { x: 1 } ); Back()

アクションは、数式に出現する順序で実行されます。Actions are performed in the order in which they appear in the formula. 現在の関数が完了しないと、その次の関数は開始されません。The next function won't start until the current function has completed. エラーが発生した場合、後続の関数が開始されない場合があります。If an error occurs, subsequent functions might not start.