Споделяне чрез


Функции за връщане назад и навигация

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

Преглед

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

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

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

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

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

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

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

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

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

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

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

Navigate обикновено връща true , но ще върне false , ако възникне грешка.

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

Назад

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

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

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

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

Назад обикновено връща true , но връща false , ако потребителят не е навигирал до друг екран след стартирането на приложението.

Синтаксис

Назад( [ Преход ] )

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

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

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

Примери

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

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

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

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

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

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

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

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

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

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

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

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

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

Вижте също

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