Делите путем


Функције"Назад" и "Претраживање"

Мења екран који се приказује.

Преглед

Већина апликација садржи више екрана. Користите функцију Back и Navigate да промените екран који се приказује. На пример, поставите својство OnSelect дугмета према формули која укључује функцију Navigate ако желите да прикажете други екран када корисник одабере то дугме. У тој формули можете одредити визуелни прелаз, као што је Fade, да бисте контролисали како се један екран мења у други.

Back и Navigate мењају само екран који се приказује. Екрани који тренутно нису приказани и даље раде у позадини. Можете саставити формуле које се односе на својства контрола на другим екранима. На пример, корисник може да промени вредност клизача на једном екрану, пређе на други екран који користи ту вредност у формули и утврди како она утиче на оно што се дешава на новом екрану. Тада корисник може да се врати на оригинални екран и потврди да је клизач задржао своју вредност.

Променљиве контекста се такође чувају када корисник прелази између екрана. Можете користити Navigate да подесите једну или више променљивих контекста за екран који ће формула приказати, што је једини начин да се променљива контекста постави изван екрана. Можете користити овај приступ да бисте параметре проследили на екран. Ако сте користили други алат за програмирање, овај приступ је сличан прослеђивању параметара у процедуре.

Користите својство StartScreen објекта App да бисте контролисали први екран који ће бити приказан.

Можете користити било коју функцију само у оквиру формуле понашања.

Важи за: Цанвас апликације Модел-дривен апликације

У првом аргументу наведите име екрана који ће се приказати.

У другом аргументу наведите како се стари екран мења у нови екран:

Аргумент прелаза Опис Демонстрација
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( [ Transition ] )

  • Transition – Опционално. Визуелни прелаз који треба користити за прелаз између тренутног и претходног екрана. Погледајте листу валидних вредности за овај аргумент раније у овом чланку. Подразумевано, прелаз са којим се екран враћа је обрнут од прелаза са којим се појавио.

Navigate( Екран [, Прелаз [, UpdateContextRecord ] ] )

  • Screen – Обавезно. Запис за приказивање. Уместо екрана можете да користите и контролу која се налази на екрану до којег желите да се крећете.
  • Transition – Опционално. Визуелни прелаз који треба користити за прелаз између тренутног и следећег екрана. Погледајте листу валидних вредности за овај аргумент раније у овом чланку. Подразумевана вредност је Ниједно.
  • UpdateContextRecord - Опционално. Запис који садржи име најмање једне колоне и вредност за сваку колону. Овај запис ажурира променљиве контекста новог екрана као да је прешао на функцију UpdateContext.

Примери

Формула Опис Резултат
Navigate( Details ) Приказује екран Детаљи без прелаза или промене вредности за променљиву контекста. Екран Детаљи се брзо појављује.
Navigate( Details, ScreenTransition.Fade ) Приказује екран Детаљи са прелазом Fade. Није промењена вредност променљиве контекста. Тренутни екран бледи да би се приказао екран Детаљи.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Приказује екран Детаљи са прелазом Fade, а ажурира вредност променљиве ID контекста на 12. Тренутни екран бледи да би се приказао екран Детаљи, а променљива ID контекста на том екрану је постављена на 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Приказује екран Детаљи са прелазом Fade. Ажурира вредност променљиве ID контекста на 12, а и ажурира вредност променљиве Сенка контекста на Color.Red. Тренутни екран бледи да би се приказао екран Детаљи. Променљива контекста ID на екрану Детаљи је постављена на 12 и променљива контекста Сенка је подешен на Color.Red. Ако поставите својство Попуна контроле на екрану Детаљи за Сенка, та контрола ће се приказати црвеном бојом.
Back() Приказује претходни екран са подразумеваним повратним прелазом. Приказује предходни екран путем обрнутог прелаза од оног са којим се појавио тренутни екран.
Back( ScreenTransition.Cover ) Приказује претходни екран са Cover прелазом. Приказује предходни екран путем прелаза Cover, без обзира на онај са којим се појавио тренутни екран.

Корак по корак

  1. Креирање празне апликације.

  2. Додавање другог екрана у њој.

    Апликација садржи два празна екрана: Screen1 и Screen2.

  3. Поставите својство Попуна на Screen2 на вредност Gray.

  4. На Screen2 додајте дугме, а подесите његово својство OnSelect према овој формули:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Док држите тастер Alt притиснутим, изаберите дугме.

    Screen1 се појављује са белом позадином са прелазом који покрива налево.

  6. На Screen1 додајте дугме, а подесите његово својство OnSelect према овој формули:

    Back()
    
  7. Док држите тастер Alt притиснутим, изаберите дугме.

    Други екран се појављује са сивом позадином кроз прелаз који открива надесно (обрнуто од Cover).

  8. Изаберите дугме на сваком екрану неколико пута да бисте се одбијали напред и назад.

Погледајте и

Коришћење променљивих контекста