15

我有一个屏幕,用户可以在其中选择一个选项(不是浏览库,因为它不执行所需的操作)。

我想将用户选择的项目传递给浏览库使用的预制“DetailScreen1”。

我查看了浏览屏幕,但没有看到它是如何工作的,因为 navigate onselect 事件只是正常的导航。

代码:

Navigate(DetailScreen1, ScreenTransition.Fade)

我想做类似的事情

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

谢谢

4

1 回答 1

20

您可以使用Navigate 函数的第三个参数将额外的参数传递给被导航到的屏幕的上下文。例如,如果您的第一个屏幕有一个下拉列表和一个文本输入控件,您希望将值传递到下一个屏幕,您可以使用以下表达式:

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

在 DetailScreen1 中,您可以使用这些上下文变量,因为它们将可用。

这是一个示例:第一个屏幕中的下拉列表包含一个部分列表,选择一个后,您将导航到另一个页面:

样本结果

在“右箭头”中,我们可以设置以下 OnSelect 属性:

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

然后,在 ProductsScreen 中,您可以拥有一个库,其项目根据传递的值进行过滤:

Items: Filter(AllProducts, Section = selectedSection)
于 2016-09-01T04:54:08.600 回答