Эти функции изменяют отображаемый экран.

Обзор

Большинство приложений содержат несколько экранов. Чтобы изменить отображаемый экран, используйте функции Back и Navigate. Например, если вы хотите, чтобы при нажатии этой кнопки отображался другой экран, можно задать в качестве значения свойства OnSelect для кнопки формулу с функцией Navigate. Чтобы управлять переключениями одного экрана на другой, в этой формуле можно указать визуальный переход, например Fade.

Функции Back и Navigate изменяют только отображаемый экран. Экраны, которые в настоящее время не отображаются, продолжают работать в фоновом режиме. Вы можете создавать формулы, ссылающиеся на свойства элементов управления другого экрана. Например, пользователь может изменить значение ползунка на одном экране, перейти на другой экран, который использует это значение в формуле, и просмотреть, как изменения повлияют на работу нового экрана. Пользователь может вернуться к исходному экрану и увидеть, что значение ползунка было сохранено.

Переменные контекста также сохраняются во время перехода между экранами. Чтобы задать одну или несколько переменных контекста для экрана, который будет отображаться формулой, используйте функцию Navigate. Это единственный способ задать переменную контекста вне экрана. Этот подход можно использовать для передачи параметров на экран. Если вы используете другое средство программирования, этот подход аналогичен переносу параметров в процедуры.

Описание

Back

Функция Back отображает экран, который был показан последним. Для этой функции не нужно указывать аргументы.

Navigate

Для первого аргумента укажите имя отображаемого экрана.

Для второго аргумента укажите способ изменения старого экрана на новый.

Аргумент перехода Описание
ScreenTransition.Cover Новый экран появляется в представлении подобно слайдам, заменяя текущий экран.
ScreenTransition.Fade Старый экран исчезает, а новый появляется.
ScreenTransition.None Старый экран быстро заменяется на новый.
ScreenTransition.UnCover Старый экран сменяется новым в представлении подобно слайдам.

Вы можете использовать функцию Navigate, чтобы создать или обновить переменные контекста нового экрана. В виде необязательного третьего аргумента передайте запись, содержащую имя переменной контекста как имя столбца, и новое значение для переменной контекста. Эта запись аналогична записи, которую вы использовали с функцией UpdateContext.

Для старого экрана задайте свойство OnHidden, для нового — OnVisible или задайте оба свойства, чтобы внести дополнительные изменения в процедуру перехода. При этом будет обновлено свойство App.ActiveScreen.

Функция Back обычно возвращает значение true, однако если пользователь использует первый экран, а предыдущий экран отсутствует, возвращается значение false. Обычно функция Navigate возвращает значение true, однако при наличии проблемы с одним из аргументов возвращается значение false.

Эти функции можно использовать только в формуле управления поведением.

Синтаксис

Back()

Navigate( Screen, Transition [, UpdateContextRecord ] )

  • *Screen* — обязательный аргумент. Отображаемый экран.
  • *Transition* — обязательный аргумент. Визуальный переход, используемый при переходе между текущим экраном и следующим. Допустимые значения для этого аргумента см. в предыдущем разделе.
  • *UpdateContextRecord* — необязательный аргумент. Запись, содержащая имя как минимум одного столбца и значение каждого из них. Эта запись обновляет переменные контекста нового экрана таким же образом, как при передаче их функции UpdateContext.

Примеры

Формула Описание Возвращаемый результат
Navigate( Details, ScreenTransition.None ) Отображается экран Details без эффекта перехода или изменения значения переменной контекста. Экран Details отображается мгновенно.
Navigate( Details, ScreenTransition.Fade ) Отображается экран Details с переходом типа Fade. Значение переменной контекста не меняется. Текущий экран исчезает, и отображается экран Details.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Отображается экран Details с переходом типа Fade, и значение переменной контекста ID меняется на 12. Текущий экран исчезает, и отображается экран Details, а для переменной контекста ID задается значение 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Отображается экран Details с переходом типа Fade. Значение переменной контекста ID изменяется на 12, а значение переменной контекста Shade — на Color.Red. Текущий экран исчезает, и отображается экран Details. Для переменной контекста ID на экране Details задается значение 12, а для переменной контекста Shade — значение Color.Red. Если на экране Details задать для свойства Fill элемента управления значение Shade, этот элемент управления будет отображаться красным цветом.

Пошаговое руководство

  1. Присвойте экрану по умолчанию имя DefaultScreen, добавьте к нему метку и задайте для свойства Text этой метки значение Default.

  2. Добавьте экран с именем AddlScreen.

  3. Для экрана AddlScreen добавьте метку и задайте свойству Text метки значение Addl.

  4. Добавьте кнопку на экран AddlScreen и задайте в качестве значения свойства OnSelect следующую функцию:
    Navigate(DefaultScreen, ScreenTransition.Fade)

  5. На экране AddlScreen нажмите клавишу F5, а затем нажмите кнопку.
    Отобразится экран DefaultScreen.

Другой пример