Back и Navigate функције

Односи се на: Цанвас апликације

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

Преглед

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

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

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

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

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

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

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

Аргумент прелаза Опис Демонстрација
СцреенТранситион.Цовер Нови екран клиза у приказ, премештајући се здесна налево, како би покрио тренутни екран. анимација покривања прелаза екрана.
СцреенТранситион.ЦоверРигхт Нови екран клиза у приказ, премештајући се слева надесно, како би покрио тренутни екран. анимација покривања прелаза екрана надесно.
СцреенТранситион.Фаде Тренутни екран бледи да би се открио нови екран. анимација блеђења прелаза екрана.
СцреенТранситион .Ноне (подразумевано) Нови екран брзо замењује тренутни екран. без анимације прелаза екрана.
СцреенТранситион.УнЦовер Тренутни екран клиза ван приказа, померајући се слева надесно, како би открио нови екран. анимација откривања прелаза екрана.
СцреенТранситион.УнЦоверРигхт Тренутни екран клиза ван приказа, померајући се здесна налево, како би открио нови екран. анимација откривања прелаза екрана здесна.

Можете користити Navigate за креирање или ажурирање контекстних варијабли новог екрана. Као опционални трећи аргумент, проследите запис који садржи назив променљиве контекста као назив колоне и нову вредност променљиве контекста. Овај запис је исти као и запис који користите са функцијом UpdateContext.

Подесите својство OnHidden старог екрана, OnVisible својство новог екрана, или оба да бисте извршили додатне промене током прелаза. Својство App.ActiveScreen ће бити ажурирано како би одражавало промену.

Navigate нормално враћа труе , али ће вратити фалсе ако се наиђе на грешку.

Променљиве контекста за навигацију су објашњене у чланку кретање између екрана.

Back

Функција Back се враћа на екран који је последњи пут приказан.

За сваки Navigate позив, апликација прати екран који се појавио и транзицију. Можете користити узастопне позиве Back да бисте се вратили све до екрана који се појавио када је корисник покренуо апликацију.

Када Back се функција покрене, инверзни прелаз се подразумевано користи. На пример, ако се екран појавио кроз прелаз ЦоверРигхт , Back користи УнЦовер (који је са леве стране) да се врати. Фаде и Ноне су њихови сопствени инверзи. Пренесите опциони аргумент да Back бисте натерали одређену транзицију.

Back Обично враћа труе , али враћа фалсе ако корисник није прешао на други екран од покретања апликације.

Синтакса

Back( [ Транзиција ] )

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

Navigate( Екран [, Транзиција [, УпдатеЦонтеxтРецорд ] ] )

  • Екран - Обавезно. Запис за приказивање. Уместо екрана , можете користити и контролу која се налази на екрану на који желите да се крећете.
  • Транзиција - Опционо. Визуелни прелаз који треба користити за прелаз између тренутног и следећег екрана. Погледајте листу валидних вредности за овај аргумент раније у овом чланку. Подразумевана вредност је Ниједно.
  • УпдатеЦонтеxтРецорд - Опционо. Запис који садржи име најмање једне колоне и вредност за сваку колону. Овај запис ажурира променљиве контекста новог екрана као да је прешао на функцију UpdateContext.

Примери

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

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

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

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

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

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

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

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

    СцреенКСНУМКС се појављује са белом позадином кроз прелаз који покрива са леве стране.

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

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

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

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

Погледајте и

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