web-dev-qa-db-ja.com

別の画面に値を渡す

ユーザーがオプションを選択できる画面があります(必要な機能を実行しないため、閲覧ギャラリーではありません)。

ユーザーが選択したアイテムを、閲覧ギャラリーで使用される既製の「DetailScreen1」に渡したいのですが。

ブラウズ画面を見ましたが、navigate onselectイベントは通常のナビゲーションなので、どのように表示されるかわかりませんでした。

コード:

Navigate(DetailScreen1, ScreenTransition.Fade)

私は何かしたいです

Navigate(DetailScreen1, ScreenTransition.None {Last(listOfStuff)})

ありがとう

10
Zain

Navigate function の3番目のパラメーターを使用して、ナビゲート先の画面のコンテキストに追加のパラメーターを渡すことができます。たとえば、最初の画面にドロップダウンと、次の画面に値を渡すテキスト入力コントロールがある場合、次の式を使用できます。

Navigate(DetailScreen1, ScreenTransition.Fade, { text: TextInput1.Value, dropdownChoice: Dropdown1.Selected.Value })

DetailScreen1では、これらのコンテキスト変数が使用可能になるので、それらを使用できます。

次に例を示します。最初の画面のドロップダウンにはセクションのリストが含まれており、セクションを選択した後、別のページに移動します。

Sample result

「右矢印」では、次のOnSelectプロパティを設定できます。

Navigate(ProductsScreen, ScreenTransition.Fade, { selectedSection: Dropdown1.Selected.Value })

次に、ProductsScreenで、渡された値に基づいてアイテムがフィルターされるギャラリーを作成できます。

Items: Filter(AllProducts, Section = selectedSection)
17
carlosfigueira