Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
Застосовується до: додатків Canvas
Зміна відображуваного екрана.
Зведення
Більшість програм містять кілька екранів. Скористайтеся функцією Back та Navigate змініть екран, який відображається. Наприклад, установіть для властивості OnSelect кнопку формулу, яка містить Navigate функцію, якщо потрібно відобразити інший екран, якщо користувач вибере цю кнопку. У цій формулі можна вказати візуальний перехід, як-от Fade (Згасання), для визначення способу зміни одного екрана на інший.
Back і Navigate змініть лише те, який екран відображається. Неактивні екрани продовжують працювати у фоновому режимі. Можна створювати формули, що посилаються на властивості елементів керування на інших екранах. Наприклад, користувач може змінити значення повзунка на одному екрані, перейти на інший екран, що використовує це значення у формулі, і визначити, як це впливає на те, що відбувається на новому екрані. Після цього користувач може повернутися до вихідного екрана і переконатися, що значення повзунка збереглося.
Контекстні змінні також зберігаються, коли користувач переходить між екранами. За допомогою Navigate цього можна встановити одну або кілька змінних контексту для екрана, які відображатимуться у формулі, що є єдиним способом встановлення змінної контексту з-за меж екрана. Цей підхід можна застосувати для передачі параметрів до екрана. Якщо використовувався інший засіб програмування, цей підхід можна порівняти з передаванням параметрів до процедур.
Скористайтеся властивістю StartScreen об'єкта програми, щоб керувати першим екраном, який відображатиметься.
Ці функції можна використовувати лише у формулах поведінки.
Navigate
У першому аргументі вкажіть ім’я екрана для відображення.
У другому аргументі вкажіть спосіб зміни старого екрана на новий.
| Аргумент переходу | Опис | Демонстрація |
|---|---|---|
| ScreenTransition.Cover | Новий екран з’являється в поданні, рухаючись справа наліво до повного перекриття поточного екрана. |
|
| ScreenTransition.CoverRight | Новий екран з’являється в поданні, рухаючись зліва направо до повного перекриття поточного екрана. |
|
| ScreenTransition.Згасання | Поточний екран поступово зникає, відкриваючи новий екран. |
|
| ScreenTransition.None (За замовчуванням) | Новий екран швидко замінює поточний екран. |
|
| ScreenTransition.UnCover | Поточний екран зникає з подання, рухаючись справа наліво до повного відкриття нового екрана. |
|
| ScreenTransition.UnCoverRight | Поточний екран зникає з подання, рухаючись зліва направо до повного відкриття нового екрана. |
|
Використовується Navigate для створення або оновлення контекстних змінних нового екрана. Як необов’язковий третій аргумент, передайте запис, що містить ім’я змінної контексту як ім’я стовпця, а також нове значення змінної контексту. Цей запис відповідає запису, що використовується у функції UpdateContext.
Настройте властивість OnHidden старого екрана, властивість OnVisible нового екрана або і ту і іншу властивості для внесення додаткових змін під час переходу. Властивість App.ActiveScreen оновиться для відображення змін.
Navigate зазвичай повертає значення true , але повертає значення false , якщо сталася помилка.
Роз’яснення щодо змінних контексту для переходів наведено в розділі про переходи між екранами.
Back
Функція Back повертається на екран, який відображався нещодавно.
Для кожного Navigate виклику програма відстежує екран, що з'явився, і перехід. Ви можете використовувати послідовні Back виклики, щоб повернутися до екрана, який з'явився, коли користувач запустив програму.
Back Коли функція запускається, обернений перехід використовується за замовчуванням. Наприклад, якщо через перехід CoverRight з'явився екран, Back для повернення використовується функція UnCover (ліворуч). Затухання і Відсутність є власними оберненими. Передайте необов'язковий аргумент, щоб Back примусово застосувати певний перехід.
Back зазвичай повертає значення true , але повертає значення false , якщо користувач не перейшов на інший екран із моменту запуску програми.
Синтаксис
Back( [ Перехід ] )
- Перехід- необов’язковий. Візуальний перехід для використання між поточним і попереднім екранами. Вище в цій статті наведено список припустимих значень для цього аргументу. За замовчуванням перехід для повернення екрана є зворотним до переходу, що використовувався для відображення цього екрана.
Navigate( Екран [, перехід [, UpdateContextRecord ] ] )
- Екран- обов’язковий. Екран для відображення. Замість екрана ви також можете використовувати елемент керування, який знаходиться на екрані, до якого ви хочете перейти.
- Перехід- необов’язковий. Візуальний перехід для використання між поточним і наступним екранами. Див. наведений вище список припустимих значень для цього аргументу. Значенням за замовчуванням є None.
- UpdateContextRecord - Необов’язковий. Запис, що містить ім’я принаймні одного стовпця та значення для кожного стовпця. Цей запис оновлює змінні контексту нового екрана, як у разі передачі до функції UpdateContext.
Приклади
| Формула | Опис | Результат |
|---|---|---|
| Navigate( Докладно ) | Відображує екран Details (Докладніше) без переходу або зміни значення для змінної контексту. | Швидко відображається екран Details. |
| Navigate(Докладно, ScreenTransition.Fade ) | Відображує екран Details із переходом Fade. Значення змінної контексту не змінюється. | Поточний екран поступово зникає і з’являється екран Details. |
| Navigate( Відомості, 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. Якщо для властивості Fill елемента керування на екрані Details установити значення Shade, цей елемент керування відображатиметься червоним кольором. |
| Back() | Відображає попередній екран із переходом повернення за замовчуванням. | Відображає попередній екран, використовуючи перехід, зворотний до переходу, що використовувався для відображення поточного екрана. |
| Back( ScreenTransition.Cover ) | Відображає попередній екран із переходом Cover. | Відображає попередній екран, використовуючи перехід Cover, незалежно від переходу, що використовувався для відображення поточного екрана. |
Покрокові інструкції
Створіть пусту програму.
Додайте до неї другий екран.
Тепер програма містить два екрани: Screen1 (Екран1) і Screen2 (Екран2).
Установіть для властивості Fill екрана Screen2 значення
Gray.На екрані Screen2 додайте елемент керування «Кнопка» та настройте його властивість OnSelect відповідно до нижчезазначеної формули.
Navigate( Screen1, ScreenTransition.Cover )Натисніть кнопку, утримуючи клавішу Alt.
Екран1 з’являється з білим фоном через перехід, який охоплює ліворуч.
На екрані Screen1 додайте елемент керування «Кнопка» та настройте його властивість OnSelect відповідно до наведеної нижче формули.
Back()Натисніть кнопку, утримуючи клавішу Alt.
Відобразиться другий екран із сірим фоном через перехід, що відкриває екран зліва направо (перехід, зворотний до Cover).
Натисніть кнопку на кожному екрані кілька разів для переходу назад і вперед.