Funktionerna Back och Navigate

Ändrar vilken skärm som visas.

Översikt

De flesta program innehåller flera skärmar. Använd funktionen Back och Navigate för att ändra vilken skärm som visas. Du kan t.ex. ange egenskapen OnSelect för en knapp till en formel som innehåller funktionen Navigate, om du vill visa en annan skärm när en användare väljer den knappen. I den formeln kan du ange en visuell övergång som t.ex. Fade, för att styra hur den ena skärmen ändras till den andra.

Back och Navigate ändrar endast vilken skärm som visas. Skärmar som inte visas för tillfället fortsätter att fungera i bakgrunden. Du kan skapa formler som refererar till egenskaper för kontrollerna på andra skärmar. En användare kan till exempel ändra värdet för ett skjutreglage på en skärm, navigera till en annan skärm som använder detta värde i en formel och där bestämma hur den påverkar vad som händer på den nya skärmen. Användaren kan sedan gå tillbaka till den ursprungliga skärmen och bekräfta att skjutreglaget har behållit sitt värde.

Sammanhangsvariabler bevaras också när en användare navigerar mellan olika skärmar. Du kan använda Navigate för att ange en eller flera sammanhangsvariabler för skärmen som formeln visar, vilket är det enda sättet att ange en sammanhangsvariabel utanför skärmen. Du kan använda den här metoden för att skicka parametrar till en skärm. Om du har använt något annat programmeringsverktyg liknar metoden att skicka parametrar till procedurer.

Använd Program-objektets StartScreen-egenskap för att styra vilken vy som ska visas först.

Du kan endast använda båda funktioner i en beteendeformel.

Gäller appar: Arbetsyteappar Modellbaserade program

I det första argumentet anger du namnet på den skärm som ska visas.

I det andra argumentet anger du hur den gamla skärmen ska ändras till den nya skärmen:

Övergångsargument Beskrivning Demonstration
ScreenTransition.Cover De nya skärmbilderna till vyn, från höger till vänster, för att täcka den aktuella skärmen. animering för skärmövergångsomslag.
ScreenTransition.CoverRight De nya skärmbilderna till vyn, från vänster till höger, för att täcka den aktuella skärmen. skärmövergång täcka rätt animering.
ScreenTransition.Fade Den nuvarande skärmen tonas bort och den nya skärmen visas. animering för skärmövergångsblekning.
ScreenTransition.None (standard) Den nya skärmen ersätter snabbt den aktuella skärmen. skärmövergång ingen animering.
ScreenTransition.UnCover Den aktuella skärmen glider ur synvinkeln och rör sig åt höger till vänster för att avslöja den nya skärmen. skärmövergång avslöja animering.
ScreenTransition.UnCoverRight Den aktuella skärmen glider ur synvinkeln och rör sig åt vänster till höger för att avslöja den nya skärmen. skärmövergång avslöja rätt animering.

Du kan använda Navigate för att skapa eller uppdatera sammanhangsvariabler för den nya skärmen. Ett valfritt tredje argument är att skicka en post som innehåller namnet på sammanhangsvariabeln som ett kolumnnamn och det nya värdet för sammanhangsvariabeln. Den här posten är samma som den post du använder med funktionen UpdateContext.

Ange egenskapen OnHidden för den gamla skärmen, egenskapen OnVisible för den nya skärmen, eller båda för att göra fler ändringar under övergången. Egenskapen Program.ActiveScreen uppdateras till att återspegla ändringen.

Navigera returnerar vanligtvis true men kommer att returnera false om ett fel påträffas.

Kontextvariabler för navigering förklaras i artikeln navigera mellan skärmar.

Bakåt

Gäller: Arbetsyteappar

Funktionen Back returnerar till den skärm som visades senast.

För varje anrop navigering spårar programmet skärmen som visades och övergången. Du kan använda efterföljande Tillbaka-anrop hela vägen till skärmen som visades när användaren startade programmet.

När funktionen Back används inverterad övergång som standard. Om en skärm visas via övergången CoverRight använder TillbakaUnCover (som är till vänster) för att returnera. Tona ut och ingen är deras egna inverser. Skicka ett valfritt argument för tvinga Tillbaka en specifik övergång.

Tillbaka returnerar vanligtvis true returnerar falskt om användaren inte har navigerat till någon annan skärm sedan programmet startades.

Syntax

Back( [ Transition ] )

  • Transition – valfritt. Den visuella övergången som kommer användas mellan den aktuella skärmen och föregående skärm. Se listan över giltiga värden för det här argumentet finns i början av den här artikeln. Som standard är övergången som en skärm returnerar den inversa av övergången som den visades med.

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

  • Screen – Krävs. Skärmen som kommer att visas. I stället för skärmen kan du också använda en kontroll som visas på skärmen som du vill navigera till.
  • Transition – valfritt. Den visuella övergången som kommer användas mellan den nuvarande skärmen och nästa skärm. Se listan över giltiga värden för det här argumentet finns i början av den här artikeln. Standardvärdet är Ingen.
  • UpdateContextRecord – Valfritt. En post som innehåller namnet på minst en kolumn och ett värde för varje kolumn. Posten uppdaterar sammanhangsvariablerna för den nya skärmen, som om de skickades till funktionen UpdateContext.

Exempel

Formel Beskrivning Resultat
Navigate( Details ) Visar skärmen Details utan någon övergång eller ändring av värdet för en sammanhangsvariabel. Skärmen Details visas snabbt.
Navigate( Details, ScreenTransition.Fade ) Visar skärmen Details med övergången Fade. Inget värde för en sammanhangsvariabel ändras. Den nuvarande skärmen tonas bort och skärmen Details visas.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Visar skärmen Details med övergången Fade och uppdaterar värdet för ID-sammanhangsvariabeln till 12. Den nuvarande skärmen tonas bort och skärmen Details visas. Sammanhangsvariabelns ID på skärmen är inställt på 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Visar skärmen Details med övergången Fade. Uppdaterar värdet för ID-sammanhangsvariabeln till 12 och uppdaterar värdet för sammanhangsvariabeln Shade till Color.Red. Den nuvarande skärmen tonas bort och skärmen Details visas. Sammanhangsvariabelns ID på skärmen Details är inställt på 12 och sammanhangsvariabeln Shade har angetts till Color.Red. Om du anger egenskapen Fill för en kontroll på skärmen Details till Shade, kommer den kontrollen visas i rött.
Back() Visar föregående skärm med standard övergången. Visar föregående skärm genom den inversa övergången till övergången genom vilken den aktuella skärmen visades.
Back( ScreenTransition.Cover ) Visar föregående skärm med övergången Cover. Visar föregående skärm genom den inversa övergången Cover oavsett övergången den aktuella skärmen visades.

Steg-för-steg

  1. Skapa en tom app.

  2. Lägg till en andra skärmbild.

    programmet innehåller två tomma skärmar: Screen1 och Screen2.

  3. Ange egenskapen Fill för Screen2 till värdet Gray.

  4. Screen2, lägg till knappen och ange dess egenskap OnSelect till följande formel:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. När du håller ned Alt-tangenten, välj knappen.

    Screen1 visas med en vit bakgrund via en övergång som täcker åt vänster.

  6. Screen1, lägg till knappen och ange dess egenskap OnSelect till följande formel:

    Back()
    
  7. När du håller ned Alt-tangenten, välj knappen.

    Den andra skärmen visas med en grå bakgrund med en övergång som täcks av övergången åt höger (inversen för Cover).

  8. Markera knappen på varje skärm flera gånger för att studsa framåt och bakåt.

Se även

Använd kontextvariabler