Funksjonene Back og Navigate

Endre hvilken skjerm som vises.

Oversikt

De fleste appene inneholder flere skjermer. Bruk Back- og Navigate-funksjonene til å endre hvilken skjerm som vises. Du kan for eksempel angi OnSelect-egenskapen til en knapp til en formel som inkluderer en Navigate-funksjon, hvis du ønsker å vise en annen skjerm når en bruker velger den knappen. I denne formelen kan du angi en visuell overgang, som Nedtoning, for å kontrollere hvordan en skjerm endres til en annen.

Back og Navigate endrer bare hvilken skjerm som vises. Skjermer som ikke vises for øyeblikket, fortsetter å operere i bakgrunnen. Du kan opprette formler og henvise til egenskaper for kontroller på andre skjermer. En bruker kan for eksempel endre verdien for en glidebryter på en skjerm, navigere til en annen skjerm som bruker den verdien i en formel, og se hvordan de påvirker det som skjer på den nye skjermen. Brukeren kan deretter navigere tilbake til den opprinnelige skjermen og se at glidebryteren har beholdt verdien.

Kontekstvariabler beholdes også når en bruker navigerer mellom skjermer. Du kan bruke Navigate for å angi én eller flere kontekstvariabler for skjermen som formelen skal vise. Dette er den eneste måten du kan angi kontekstvariabler utenfor skjermen på. Du kan bruke denne fremgangsmåten for å sende parametre til en skjerm. Hvis du har brukt et annet programmeringsverktøy, er denne fremgangsmåten lik den for å sende parametre til prosedyrer.

Bruk App-objektets StartScreen-egenskap til å styre det første skjermbildet som skal vises.

Du kan bruke disse funksjonene bare i en formel for virkemåte.

Gjelder: Lerretsapper Modelldrevne apper

Angi navnet på den første skjermen som skal vises i det første argumentet.

I det andre argumentet angir du hvordan den gamle skjermen endres til den nye:

Overgangsargument Beskrivelse Demonstrasjon
ScreenTransition.Cover De nye skjermen glir inn, fra høyre mot venstre, for å dekke gjeldende skjermbilde. animasjon av skjermoverføring.
ScreenTransition.CoverRight De nye skjermen glir inn, fra venstre mot høyre, for å dekke gjeldende skjermbilde. animasjon av skjermoverføring, høyre.
ScreenTransition.Fade Den gjeldende skjermen tones ned for å vise den nye skjermen. animasjon av skjermoverføring, nedtoning.
ScreenTransition.None (standard) Den nye skjermen erstatter raskt gjeldende skjermbilde. animasjon av skjermoverføring, ingen.
ScreenTransition.UnCover Den gjeldende skjermen glir ut, fra høyre mot venstre, for å avdekke den nye skjermen. animasjon av skjermoverføring, avdekke.
ScreenTransition.UnCoverRight Den gjeldende skjermen glir ut, fra venstre mot høyre, for å avdekke den nye skjermen. animasjon av skjermoverføring, avdekke høyre.

Du kan bruke Navigate til å opprette eller oppdatere kontekstvariabler på den nye skjermen. Som et valgfritt tredje argument kan du sende en post som inneholder kontekstvariabelnavnet som et kolonnenavn og den nye verdien for kontekstvariabelen. Denne posten er den samme som posten du brukte med UpdateContext-funksjonen.

Angi OnHidden-egenskapen til den forrige skjermen, OnVisible-egenskapen til den nye skjermen, eller begge, for å foreta flere endringer i løpet av overgangen. App.ActiveScreen-egenskapen oppdateres for å gjenspeile endringen.

Navigate returnerer vanligvis sann, men returnerer usann hvis det oppstår en feil.

Kontekstvariabler for navigasjon forklares i artikkelen Navigere mellom skjermer.

Back

Gjelder: Lerretsapper

Back-funksjonen returnerer til skjermen som sist ble vist.

For hvert Navigate-kall sporer appen skjermen som ble vist, og overføringen. Du kan bruke etterfølgende Back-kall til å komme tilbake til skjermen som vistes når brukeren startet appen.

Når Back-funksjonen kjøres, brukes den motsatte overføringen som standard. Hvis for eksempel et skjermbilde ble vist gjennom CoverRight-overføringen, bruker BackUnCover (som er til venstre) for å komme tilbake. Fade og None er sine egne inverser. Send et valgfritt argument til Back for å fremtvinge en bestemt overføring.

Back returnerer vanligvis sann, men returnerer usann hvis brukeren ikke har navigert til et annet skjermbilde siden oppstart av appen.

Syntaks

Back( [ Transition ] )

  • Transition - valgfritt. Den visuelle overgangen som skal brukes mellom gjeldende skjerm og den forrige skjermen. Se listen over gyldige verdier for dette argumentet tidligere i denne artikkelen. Overføringen som et skjermbilde returnerer gjennom, er som standard det motsatte av overføringen som det ble vist gjennom.

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

  • Screen - obligatorisk. Skjermen som skal vises. I stedet for Skjerm kan du også bruke en kontroll som er på skjermen du vil navigere til.
  • Transition - valgfritt. Den visuelle overgangen som skal brukes mellom gjeldende skjerm og den nye skjermen. Se listen over gyldige verdier for dette argumentet tidligere i denne artikkelen. Standardverdien er None.
  • UpdateContextRecord - valgfritt. En post som inneholder navnet på minst én kolonne og en verdi for hver kolonne. Denne posten oppdaterer kontekstvariablene til den nye skjermen som om den ble sendt til UpdateContext-funksjonen.

Eksempler

Formel Beskrivelse Resultat
Navigate( Details ) Viser Details-skjermen uten overgang eller endring i verdi for en kontekstvariabel. Details-skjermen vises raskt.
Navigate( Details, ScreenTransition.Fade ) Viser Details-skjermen med en Fade-overgang. Ingen verdier for en kontekstvariabel endres. Den gjeldede skjermen tones ned for å vise Details-skjermen.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Viser Details-skjermen med en Fade-overgang, og oppdaterer verdien til kontekstvariabelen ID til 12. Den gjeldende skjermen tones ned for å vise Details-skjermen, og kontekstvariabelen ID på den skjermen som angis til 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Viser Details-skjermen med en Fade-overgang. Oppdaterer verdien til kontekstvariabelen ID til 12, og oppdaterer verdien til kontekstvariabelen Shade til Color.Red. Den gjeldede skjermen tones ned for å vise Details-skjermen. Kontekstvariabelen IDDetails-skjermen angis til 12, og kontekstvariabelen Shade angis til Color.Red. Hvis du angir Fill-egenskapen til en kontroll på Details-skjermen til Shade, vises denne kontrollen i rødt.
Back() Viser det forrige skjermbildet med standard returoverføring. Viser den forrige skjermen gjennom den omvendte overgangen av overgangen som gjeldende skjerm ble vist gjennom.
Back( ScreenTransition.Cover ) Viser det forrige skjermbildet med Cover-overføring. Viser den forrige skjermen gjennom Cover-overgangen, uavhengig av av overgangen som gjeldende skjerm ble vist gjennom.

Trinn for trinn

  1. Opprett en tom app.

  2. Legg til et nytt skjermbilde i den.

    Appen inneholder to tomme skjermer: Screen1 og Screen2.

  3. Angi Fill-egenskapen for Screen2 til verdien Gray.

  4. Legg til en knapp på Screen2, og angi OnSelect-egenskapen til denne formelen:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Velg knappen mens du holder nede Alt-tasten.

    Screen1 vises med hvit bakgrunn gjennom en overføring som dekker til venstre.

  6. Legg til en knapp på Screen1, og angi OnSelect-egenskapen til denne formelen:

    Back()
    
  7. Velg knappen mens du holder nede Alt-tasten.

    Det andre skjermbildet vises med en grå bakgrunn gjennom en overføring som dekker til høyre (det motsatte av Cover).

  8. Velg knappen på hvert skjermbilde gjentatte ganger for å hoppe frem og tilbake.

Se også

Bruke kontekstvariabler