Функции "Назад" и "Навигация"

Променя кой екран се показва.

Преглед

Повечето приложения съдържат няколко екрана. Използвайте функцията Back и Navigate, за да промените кой екран се показва. Например, задайте OnSelect свойството на бутон към формула, която включва функция Navigate, ако искате да покажете различен екран, когато потребителят избере този бутон. В тази формула можете да зададете визуален преход, като например Fade, за да контролирате как се променя един екран на друг.

Back и Navigate променят само кой екран се показва. Екраните, които в момента не се показват, продължават да работят зад кулисите. Можете да изградите формули, които се отнасят до свойствата на контролите на други екрани. Например, потребителят може да промени стойността на плъзгача на един екран, да се придвижва до различен екран, който използва тази стойност във формула, и да определи как тя влияе върху това, което се случва в новия екран. След това потребителят може да се върне към оригиналния екран и да потвърди, че плъзгачът е запазил стойността си.

Контекстни променливи също се запазват, когато потребителят се движи между екраните. Можете да използвате Navigate, за да зададете една или повече контекстни променливи за екрана, които формулата ще показва, което е единственият начин да зададете контекстна променлива извън екрана. Можете да използвате този подход за предаване на параметри на екран. Ако сте използвали друг инструмент за програмиране, този подход е подобен на предаване на параметри на процедурите.

Използвайте свойството на обекта на ПриожениеStartScreen за управление на първия екран, който да се показва.

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

Отнася се за: Приложения за платно Приложения , задвижвани от модели

В първия аргумент посочете името на екрана, който ще се покаже.

Във втория аргумент укажете как стария екран се променя на новия екран:

Аргумент за преход Описание Демонстрация
ScreenTransition.Cover Новият екран се плъзга в изглед, като се движи от дясно наляво, за да покрие текущия екран. преход на екрана с анимация със закриване.
ScreenTransition.CoverRight Новият екран се плъзга в изглед, като се движи от ляво надясно, за да покрие текущия екран. преход на екрана с анимация с покриване на дясно.
ScreenTransition.Fade Текущият екран избледнява, за да разкрие новия екран. анимация с избледняване за преход на екрана.
ScreenTransition.None (по подразбиране) Новият екран бързо замества текущия екран. преход на екрана без анимация.
ScreenTransition.UnCover Текущият екран се плъзга извън изглед, като се движи от дясно наляво, за да открие нов екран. преход на екрана с анимация с откриване.
ScreenTransition.UnCoverRight Текущият екран се плъзга извън изглед, като се движи от ляво надясно, за да открие нов екран. преход на екрана с анимация с откриване надясно.

Можеш да използваш Navigate за създаване или актуализиране контекстни променливи на новия екран. Като незадължителен трети аргумент, предайте запис, който съдържа името на променливата на контекста като колона име и новата стойност за контекстната променлива. Този запис е същият като записа, който използвате с UpdateContext функцията.

Задайте OnHidden свойството на стария екран, OnVisible свойството на новия екран или и двете да правят допълнителни промени по време на прехода. Свойството App.ActiveScreen ще бъде актуализирано, за да отрази промяната.

Navigate обикновено връща вярно, но ще върне невярно, ако се появи грешка

Контекстните променливи за навигация са обяснени в статията придвижване между екраните.

Назад

Отнася се за: Приложения за платно

Функцията Back се връща към екрана, който е бил показан наскоро.

За всяко извикване на Navigate, приложението проследява появилия се екран и прехода. Можете да използвате последователни извиквания на Back, за да се върне до екрана, който се появи, когато потребителят стартира приложението.

Когато функцията Back работи, обратният преход се използва по подразбиране. Например, ако се появи екран чрез преход CoverRight, Back използва UnCover (което е отляво), за да се върне. Fade и None са обратни спрямо себе си. Предайте незадължителен аргумент на Back, за да принудите конкретен преход.

Back обикновено връща вярно но връща невярно, ако потребителят не е преминал на друг екран след стартиране на приложението.

Синтаксис

Back( [ Transition ] )

  • Transition - Опционално. Визуалният преход за използване между текущия и предходния екран. Вижте списъка с валидни стойности за този аргумент по-рано в тази статия. По подразбиране преходът, през който се връща екранът, е обратната страна на прехода, през който се е появил.

Navigate( Screen [, Transition [, UpdateContextRecord ] ] )

  • Screen - Задължително. Екранът за показване. Вместо екран можете също да използвате контрола, която е на екрана, до който искате да навигирате.
  • Transition - Опционално. Визуалният преход за използване между текущия и следващия екран. Вижте списъка с валидни стойности за този аргумент по-рано в тази статия. Стойността по подразбиране е None.
  • UpdateContextRecord - Незадължително. Запис, който съдържа името на поне една колона и стойност за всяка колона. Този запис актуализира контекстни променливи на новия екран, сякаш е преминал към UpdateContext функция.

Примери

Формула Описание Резултат
Navigate( Details ) Показва екрана Подробности без преход или промяна в стойността за променлива на контекста. Екранът Подробности се появява бързо.
Navigate( Details, ScreenTransition.Fade ) Показва екрана Подробности с преход Fade. Не се променя стойност на контекстна променлива. Текущият екран избледнява, за да покаже екрана Подробности.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Показва екрана Подробности с преход Fade и актуализира стойността на ИД контекстна променлива на 12. Текущият екран избледнява, за да се покаже екрана Подробности и променливата на контекста ИД на този екран е зададена на 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12, Shade: Color.Red } ) Показва екрана Подробности с преход Fade. Актуализира стойността на ИД контекстната променлива на 12 и актуализира стойността на Сянка контекстна променлива на Color.Red. Текущият екран избледнява, за да покаже екрана Подробности. Променливата на контекста ИД на екрана Подробности е зададен на 12 и променливата на контекста Сянка е зададена на Color.Red. Ако зададете свойството Fill на контрола на екрана подробности до Сянка, този контрол ще се показва като червен.
Back() Показва предишния екран с връщане по подразбиране. Показва предишния екран чрез обратен преход на прехода, чрез който се е показал текущият екран.
Back( ScreenTransition.Cover ) Показва предишния екран с преход Cover. Показва предишния екран чрез преход Cover, независимо от прехода, чрез който се е показал текущият екран.

Стъпка по стъпка

  1. Създаване на празно приложение.

  2. Добавяне на втори екран към него.

    Приложението съдържа два празни екрана: Screen1 и Screen2.

  3. Задайте свойството Fill на Screen2 на стойността Gray.

  4. На Screen2добавете бутон и задайте свойството OnSelect на тази формула:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Докато държите клавиша Alt, изберете бутона.

    Screen1 се появява с бял фон чрез преход, който се покрива вляво.

  6. На Screen1 добавете бутон и задайте свойството OnSelect на тази формула:

    Back()
    
  7. Докато държите клавиша Alt, изберете бутона.

    Вторият екран се появява със сив фон чрез преход, който се разкрива надясно (обратната страна на Cover).

  8. Изберете бутона на всеки екран неколкократно, за да отскачате напред и назад.

Вижте също

Използване на контекстни променливи