Передать значение на другой экран
У меня есть экран, где пользователь может выбрать опцию (не просматривать галерею, поскольку она не делает то, что требуется).
Я хочу передать элемент, который пользователь выбрал, в готовый "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)