Передать значение на другой экран

У меня есть экран, где пользователь может выбрать опцию (не просматривать галерею, поскольку она не делает то, что требуется).

Я хочу передать элемент, который пользователь выбрал, в готовый "DetailScreen1", который используется галереей просмотра.

Я посмотрел на экран просмотра, но не увидел, как он это делает, поскольку событие navigate onselect - это просто обычная навигация.

Код:

Navigate(DetailScreen1, ScreenTransition.Fade)

Я хочу сделать что-то вроде

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

Спасибо

1 ответ

Решение

Вы можете использовать третий параметр функции 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)
Другие вопросы по тегам