Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: приложениям Canvas
Эти функции изменяют отображаемый экран.
Обзор
Большинство приложений содержат несколько экранов. Используйте функцию, Navigate чтобы изменить отображаемый Back экран. Например, задайте для свойства OnSelect кнопки формулу, содержащую Navigate функцию, если вы хотите отобразить другой экран, когда пользователь выбирает эту кнопку. Чтобы управлять переключениями одного экрана на другой, в этой формуле можно указать визуальный переход, например Fade.
Back и Navigate измените только отображаемый экран. Экраны, которые в настоящее время не отображаются, продолжают работать в фоновом режиме. Вы можете создавать формулы, ссылающиеся на свойства элементов управления других экранов. Например, пользователь может изменить значение ползунка на одном экране, перейти на другой экран, который использует это значение в формуле, и определить, как изменения повлияют на работу нового экрана. Пользователь может вернуться к исходному экрану и проверить, что значение ползунка было сохранено.
Контекстные переменные также сохраняются, когда пользователь переходит между экранами. Можно использовать Navigate для задания одной или нескольких переменных контекста для экрана, отображаемого формулой, которая является единственным способом задать переменную контекста за пределами экрана. Этот подход можно использовать для передачи параметров на экран. Если вы используете другое средство программирования, этот подход аналогичен переносу параметров в процедуры.
Используйте свойство StartScreen объекта Приложение для управления первым отображаемым экраном.
Любую из этих функций можно использовать только в формуле управления поведением.
Navigate
Для первого аргумента укажите имя отображаемого экрана.
Для второго аргумента укажите способ изменения старого экрана на новый.
| Аргумент перехода | Описание | Демонстрация |
|---|---|---|
| ScreenTransition.Обложка | Новый экран появляется, перемещаясь справа налево, чтобы закрыть текущий экран. |
|
| ScreenTransition.CoverRight | Новый экран появляется, перемещаясь слева направо, чтобы закрыть текущий экран. |
|
| ScreenTransition.Fade | Текущий экран плавно исчезает, открывая новый экран. |
|
| ScreenTransition.None (По умолчанию) | Новый экран быстро заменяет текущий экран. |
|
| ScreenTransition.UnCover | Текущий экран исчезает, перемещаясь справа налево и открывая новый экран. |
|
| ScreenTransition.UnCoverRight | Текущий экран исчезает, перемещаясь слева направо и открывая новый экран. |
|
Можно использовать Navigate для создания или обновления переменных контекста нового экрана. В виде необязательного третьего аргумента передайте запись, содержащую имя переменной контекста как имя столбца, и новое значение для переменной контекста. Эта запись аналогична записи, которую вы использовали с функцией UpdateContext.
Для старого экрана задайте свойство OnHidden, для нового — OnVisible или задайте оба свойства, чтобы внести дополнительные изменения в процедуру перехода. При этом будет обновлено свойство App.ActiveScreen.
Navigate Обычно возвращает значение true , но возвращает значение false , если обнаружена ошибка.
Переменные контекста для навигации описаны в статье о перемещении между экранами.
Back
Функция Back возвращается на экран, который был недавно отображен.
Для каждого Navigate вызова приложение отслеживает отображаемый экран и переход. Можно использовать последовательные Back вызовы, чтобы вернуть весь путь к экрану, который появился при запуске приложения.
При запуске функции обратный Back переход используется по умолчанию. Например, если экран появился через переход CoverRight , Back для возврата используется unCover (слева). Fade и None являются своими собственными инверсиями. Передайте необязательный аргумент для Back принудительного перехода.
Back обычно возвращает значение true , но возвращает значение false , если пользователь не переходил на другой экран с момента запуска приложения.
Синтаксис
Back( [ Переход ] )
- Переход - Необязательно. Визуальный переход, используемый при переходе между текущим экраном и предыдущим. Допустимые значения для этого аргумента см. ранее в этой статье. По умолчанию переход, через который возвращается экран, является обратным переходу, через который он появился.
Navigate( Экран [, переход [, UpdateContextRecord ] )
- Экран - Обязательно. Отображаемый экран. Вместо Экрана вы также можете использовать элемент управления, расположенный на экране, к которому вы хотите перейти.
- Переход - Необязательно. Визуальный переход, используемый при переходе между текущим экраном и следующим. Допустимые значения для этого аргумента см. ранее в этой статье. Значение по умолчанию — None.
- UpdateContextRecord - Необязательно. Запись, содержащая имя как минимум одного столбца и значение каждого из них. Эта запись обновляет переменные контекста нового экрана таким же образом, как при передаче их функции UpdateContext.
Примеры
| Формула | Описание | Результат |
|---|---|---|
| Navigate( Сведения) | Отображается экран Details без эффекта перехода или изменения значения переменной контекста. | Экран Details отображается быстро. |
| Navigate( Сведения, ScreenTransition.Fade ) | Отображается экран Details с переходом типа Fade. Значение переменной контекста не меняется. | Текущий экран исчезает, и отображается экран Details. |
| Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) | Отображается экран Details с переходом типа Fade, и значение переменной контекста ID меняется на 12. | Текущий экран исчезает, и отображается экран Details, а для переменной контекста ID задается значение 12. |
| Navigate( Сведения, ScreenTransition.Fade, { ID: 12, оттенк: Color.Red } ) | Отображается экран Details с переходом типа Fade. Значение переменной контекста ID изменяется на 12, а значение переменной контекста Shade — на Color.Red. | Текущий экран исчезает, и отображается экран Details. Для переменной контекста ID на экране Details задается значение 12, а для переменной контекста Shade — значение Color.Red. Если на экране Details задать для свойства Fill элемента управления значение Shade, этот элемент управления будет отображаться красным цветом. |
| Back() | Отображение предыдущего экрана с обратным переходом по умолчанию. | Отображается предыдущий экран с использованием перехода, обратного переходу, с использованием которого появился текущий экран. |
| Back( ScreenTransition.Cover ) | Отображение предыдущего экрана с переходом Cover. | Отображается предыдущий экран с использованием перехода Cover, независимого от перехода, с использованием которого появился текущий экран. |
Пошаговое руководство
Создайте пустое приложение.
Добавьте второй экран к нему.
Приложение содержит два пустых экрана: Screen1 и Screen2.
Задайте для свойства Fill экрана Screen2 значение
Gray.На экране Screen2 добавьте кнопку и задайте для ее свойства OnSelect следующую формулу:
Navigate( Screen1, ScreenTransition.Cover )Удерживая нажатой клавишу ALT, выберите эту кнопку.
Экран 1 появляется с белым фоном через переход, который охватывает левую часть.
На экране Screen1 добавьте кнопку и задайте для ее свойства OnSelect следующую формулу:
Back()Удерживая нажатой клавишу ALT, выберите эту кнопку.
Второй экран появляется с серым фоном через переход, который открывает вправо (обратная операция для Cover).
Выберите кнопку на каждом экране несколько раз, чтобы переходить назад и вперед.