Funcțiile Înapoi și Navigare

Modifică ecranul care este afișat.

Prezentare generală

Majoritatea aplicațiilor conțin mai multe ecrane. Folosiți funcția Back și Navigate pentru a schimba ecranul care este afișat. De exemplu, setați proprietatea OnSelect unui buton la o formulă care include o funcție Navigate dacă doriți să afișați un ecran diferit atunci când un utilizator selectează butonul respectiv. În această formulă, puteți specifica o tranziție vizuală, cum ar fi Fade, pentru a controla cum se schimbă un ecran în altul.

Utilizați Back și Navigate doar pentru a schimba ecranul care este afișat. Ecranele care nu sunt afișate în prezent continuă să funcționeze în culise. Puteți construi formule care se referă la proprietățile controalelor pe alte ecrane. De exemplu, un utilizator poate modifica valoarea unui glisor pe un ecran, poate naviga la un ecran diferit care utilizează acea valoare într-o formulă și poate determina modul în care afectează ceea ce se întâmplă în noul ecran. Utilizatorul poate naviga înapoi la ecranul inițial și să confirme că glisorul și-a păstrat valoarea.

Variabilele de context sunt, de asemenea, păstrate atunci când un utilizator navighează între ecrane. Puteți să folosiți Navigate pentru a seta una sau mai multe variabile de context pentru ecran pe care o va afișa formula, care este singura modalitate de a seta o variabilă de context din afara ecranului. Puteți utiliza această abordare pentru a trece parametrii pe un ecran. Dacă ați utilizat un alt instrument de programare, această abordare este similară cu trecerea parametrilor la proceduri.

Utilizați proprietatea obiectului aplicațieiStartScreen pentru a controla primul ecran care va fi afișat.

Puteți utiliza oricare dintre funcții doar în cadrul unei formula comportamentale.

Se aplică pentru: Aplicații Canvas Aplicații bazate pe model

În primul argument, specificați numele ecranului de afișat.

În al doilea argument, specificați modul în care ecranul vechi se schimbă la noul ecran:

Argument Transition Descriere Demonstrație
ScreenTransition.Cover Noul ecran se afișează, deplasându-se de la dreapta la stânga, pentru a acoperi ecranul curent. animație acoperire tranziție ecran.
ScreenTransition.CoverRight Noul ecran se afișează, deplasându-se de la stânga la dreapta, pentru a acoperi ecranul curent. animație dreapta acoperire tranziție ecran.
ScreenTransition.Fade Ecranul curent se estompează pentru a dezvălui noul ecran. animație estompare tranziție ecran.
ScreenTransition.None (Mod implicit) Noul ecran înlocuiește rapid ecranul curent. nicio animație tranziție ecran.
ScreenTransition.UnCover Ecranul curent se ascunde, deplasându-se de la dreapta la stânga, pentru a dezvălui ecranul nou. animație dezvăluire tranziție ecran.
ScreenTransition.UnCoverRight Ecranul curent se ascunde, deplasându-se de la stânga la dreapta pentru a dezvălui ecranul nou. animație dreapta dezvăluire tranziție ecran.

Puteți să folosiți Navigate pentru a crea sau actualiza variabile de context de pe noul ecran. Ca un al treilea argument opțional, transmiteți o înregistrare care conține numele variabilă de context ca nume coloană și noua valoare pentru variabila de context. Această înregistrare este aceeași cu înregistrarea pe care o utilizați cu funcția UpdateContext.

Setați proprietatea OnHidden a ecranului vechi, proprietatea OnVisible a noului ecran sau ambele pentru a face modificări suplimentare în timpul tranziției. Proprietatea App.ActiveScreen va fi actualizată pentru a reflecta schimbarea.

Navigate returnează în mod normal true, dar va returna false dacă apare o eroare.

Variabilele de context pentru navigare sunt explicate în articolul navigați între ecrane.

Înapoi

Se aplică pentru: aplicații Canvas

Funcția Back revine la ecranul care a fost afișat cel mai recent.

Pentru fiecare apel Navigate, aplicația urmărește ecranul care a apărut și tranziția. Puteți utiliza succesiv apelurile Back pentru a reveni la tot ecranul care a apărut când utilizatorul a pornit aplicația.

Când funcția Back rulează, tranziția inversă este folosită implicit. De exemplu, dacă a apărut un ecran prin intermediul tranziției CoverRight, Back utilizează UnCover (care este la stânga) pentru a reveni. Fade și None sunt reversurile lor. Transmiteți un argument opțional la Back pentru a forța o tranziție specifică.

Back returnează în mod normal true, dar returnează false dacă utilizatorul nu a navigat pe un alt ecran de la pornirea aplicației.

Sintaxă

Back( [ Tranziție ] )

  • Tranziție - Opțional. Tranziția vizuală de utilizat între ecranul curent și ecranul anterior. Consultați lista valorilor valabile pentru acest argument anterior în acest articol. În mod implicit, tranziția prin care revine un ecran este inversă tranziției prin care a apărut.

Navigate( Ecran [, Tranziție [, UpdateContextRecord ] ] )

  • Ecran - Necesar. Ecranul de afișat. În loc de Ecran, puteți utiliza și o comandă care se află pe ecranul la care doriți să navigați.
  • Tranziție - Opțional. Tranziția vizuală de utilizat între ecranul curent și următorul ecran. Vedeți lista valorilor valabile pentru acest argument anterior în acest articol. Valoarea implicită este Niciunul.
  • UpdateContextRecord - Opțional. O înregistrare care conține numele a cel puțin o coloană și o valoare pentru fiecare coloană. Această înregistrare actualizează variabile de context din noul ecran ca și cum ar fi trecut la funcția UpdateContext.

Exemple

Formulă Descriere Rezultat
Navigate (detalii) Afișează ecranul Detalii fără tranziție sau modificare de valoare pentru o variabilă de context. Ecranul Detalii apare rapid.
Navigate( Details, ScreenTransition.Fade ) Afișează ecranul Detalii cu o tranziție Estompare. Nu este modificată nicio valoare a unei variabile de context. Ecranul curent se estompează pentru a arăta ecranul Detalii.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Afișează ecranul Detalii cu o tranziție Estompare și actualizează valoarea variabilei de context ID la 12. Ecranul curent se estompează pentru a afișa ecranul Detalii, iar ID-ul variabilei de context pe ecranul respectiv este setat la 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Afișează ecranul Detalii cu o tranziție Estompare. Actualizează valoarea variabilei de context ID la 12 și actualizează valoarea variabilei de context Umbră la Color.Red. Ecranul curent se estompează pentru a arăta ecranul Detalii. ID-ul variabilei de context la ecranul Detalii este setat la 12, iar variabila de context Umbră este setată la Color.Red. Dacă setați proprietatea Umplere a unui control asupra ecranului Detalii la Umbră, acel control se va afișa ca roșu.
Back() Afișează ecranul anterior cu tranziția de întoarcere implicită. Afișează ecranul anterior prin tranziția inversă a tranziției prin care ecranul curent a apărut.
Back( ScreenTransition.Cover ) Afișează ecranul anterior cu tranziția Cover. Afișează ecranul anterior prin tranziția inversă a tranziției Cover, indiferent de tranziția prin care ecranul curent a apărut.

Pas cu pas

  1. Creați o aplicație necompletată.

  2. Adăugați un al doilea ecran.

    Aplicația conține două ecrane goale: Screen1 și Screen2.

  3. Setați proprietatea Umplere a Screen2 la valoarea Gray.

  4. Pe Screen2, adăugați un buton, apoi setați-i proprietatea OnSelect la această formulă:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. În timp ce țineți apăsată tasta Alt, selectați butonul.

    Screen1 apare cu un fundal alb printr-o tranziție care se acoperă spre stânga.

  6. Pe Screen1, adăugați un buton, apoi setați-i proprietatea OnSelect la această formulă:

    Back()
    
  7. În timp ce țineți apăsată tasta Alt, selectați butonul.

    Cel de-al doilea ecran apare cu un fundal gri printr-o tranziție care se descoperă spre dreapta (inversul lui Acoperi).

  8. Selectați butonul de pe fiecare ecran în mod repetat pentru a sări înapoi și înapoi.

Consultați și

Utilizarea variabilelor de context