2016-08-30 14 views
3

私は、ユーザーがオプションを選択できる画面を持っています(ブラウズギャラリーでは必要でないため選択できません)。別の画面に値を渡す

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

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

コード:私は

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

おかげ

答えて

8

あなたは、画面のコンテキストに追加のパラメータを渡すためにNavigate functionの三番目のパラメータを使用することができるような何かをしたい

Navigate(DetailScreen1, ScreenTransition.Fade) 

にナビゲートされています。あなたがそれらのコンテキストを使用することができ、DetailScreen1で

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

:あなたの最初の画面では、次の画面に値を渡したいドロップダウンとテキスト入力コントロールを持っている場合たとえば、あなたは次の式を使用することができます変数を利用できるようになります。ここで

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

Sample result

「右矢印」では、我々が設定することができます次ONSELECTプロパティ:

012:

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

ProductsScreenでは、あなたがして、その項目渡されたその値に基づいてフィルタリングされ、ギャラリーを持つことができます

Items: Filter(AllProducts, Section = selectedSection) 
+0

この変数はどのくらい永続的ですか?それはメモリに残っているのですか、別の画面に移動した場合、インスタンス化する必要がありますか?たとえばcurrent_userのように...? – Matteo

+1

'Navigate'の3番目のパラメータは、ターゲット画面で[コンテキスト変数](https://powerapps.microsoft.com/en-us/tutorials/working-with-variables/)の値を設定します。コンテキスト変数は、別の値が同じ変数に設定されるまで、その画面のメモリに残ります。たとえば、値が{a:1}の画面Bにナビゲートすると、その画面の 'a'の値は、別の呼び出し(画面Bにナビゲートして' a'をパラメータとして渡すか、 UpdateContext)が値を変更します。 – carlosfigueira

関連する問題