Funkcie Späť a Navigácia

Zmení zobrazenú obrazovku na inú.

Prehľad

Väčšina aplikácií obsahuje viacero obrazoviek. Pomocou funkcie Back a Navigate môžete meniť zobrazenú obrazovku. Ak chcete napríklad zobraziť inú obrazovku po stlačení tlačidla používateľom, vložte vlastnosť OnSelect tlačidla do vzorca, ktorý obsahuje funkciu Navigate. V danom vzorci môžete zadať vizuálny prechod, ako napríklad Miznutie, čím môžete ovládať, ako sa obrazovka zmení na inú.

Back a Navigate zmenia iba zobrazovanú obrazovku. Obrazovky, ktoré nie sú aktuálne zobrazené, zostávajú v prevádzke na pozadí. Môžete vytvárať vzorce, ktoré odkazujú na vlastnosti ovládacích prvkov na iných obrazovkách. Používateľ môže napríklad zmeniť hodnotu jazdca na jednej obrazovke, prejsť na inú obrazovku, ktorá používa danú hodnotu vo vzorci a určiť, aký bude mať vplyv na to, čo sa odohráva na novej obrazovke. Používateľ môže potom prejsť naspäť na pôvodnú obrazovku a skontrolovať, že jazdec si zachoval svoju hodnotu.

Keď používateľ prejde medzi obrazovkami, kontextové premenné sa tiež zachovajú. Funkciu Navigate môžete použiť na nastavenie jednej alebo viacerých kontextových premenných na obrazovke, ktorú zobrazí vzorec. Toto je jediný spôsob na nastavenie kontextovej premennej mimo obrazovky. Tento postup môžete použiť na odovzdanie parametrov na obrazovku. Ak ste použili iný programovací nástroj, tento prístup je podobný ako odovzdávanie parametrov do procedúr.

Použite vlastnosť StartScreen objektu App na ovládanie prvej obrazovky, ktorá sa má zobraziť.

Ktorúkoľvek z týchto funkcií môžete používať len v rámci vzorca správania.

Vzťahuje sa na: aplikácie plátna aplikácie s podporou modelov

V prvom argumente zadajte názov obrazovky, ktorá sa má zobraziť.

V druhom argumente určite, ako sa stará obrazovka zmení na novú obrazovku:

Argument prechodu Popis Názorná ukážka
ScreenTransition.Cover Nová obrazovka sa posúva do zobrazenia, pohybuje sa sprava doľava a pokryje aktuálnu obrazovku. animácia prechodu obrazovky – prekrytie.
ScreenTransition.CoverRight Nová obrazovka sa posúva do zobrazenia, pohybuje sa zľava doprava a pokryje aktuálnu obrazovku. animácia prechodu obrazovky – pokrytie doprava.
ScreenTransition.Fade Aktuálna obrazovka zmizne a odkryje sa nová obrazovka. animácia prechodu obrazovky – prelínanie.
ScreenTransition.None (predvolené) Nová obrazovka rýchlo nahradí aktuálnu obrazovku. animácia prechodu obrazovky – žiadna.
ScreenTransition.UnCover Aktuálna obrazovka sa posunie mimo zobrazenia, posúva sa sprava doľava a odhalí novú obrazovku. animácia prechodu obrazovky – odhalenie.
ScreenTransition.UnCoverRight Aktuálna obrazovka sa posunie mimo zobrazenia, posúva sa zľava doprava a odhalí novú obrazovku. animácia prechodu obrazovky – odhalenie doprava.

Funkciu Navigate môžete použiť na vytvorenie alebo aktualizáciu kontextových premenných novej obrazovky. Ako voliteľný tretí argument odovzdajte záznam, ktorý obsahuje názov kontextovej premennej ako názov stĺpca a novú hodnotu kontextovej premennej. Tento záznam je rovnaký ako záznam, ktorý používate vo funkcii UpdateContext.

Nastavte vlastnosť OnHidden na starej obrazovke a vlastnosť OnVisible na novej obrazovke, alebo oboje, ak chcete počas prechodu vykonať ďalšie zmeny. Vlastnosť App.ActiveScreen sa aktualizuje, aby zohľadnila zmenu.

Funkcia Navigate zvyčajne vracia hodnotu pravda, v prípade výskytu chyby ale vráti hodnotu nepravda.

Kontextové premenné pre navigáciu sú vysvetlené v článku o prechádzaní medzi obrazovkami.

Naspäť

Vzťahuje sa na: aplikácie Canvas

Funkcia Back sa vráti na obrazovku, ktorá bola naposledy zobrazená.

Pre každé volanie funkcie Navigate aplikácia sleduje obrazovku, ktorá sa objavila, a prechod. Môžete použiť postupné volania Back, aby ste sa úplne vrátili na obrazovku, ktorá sa objavila pri spustení aplikácie používateľom.

Pri používaní funkcie Back sa v predvolenom nastavení používa inverzný prechod. Napríklad, ak sa obrazovka objavila počas prechodu CoverRight, funkcia Back použije na návrat UnCover (čo je doľava). Fade a None sú vlastnými inverziami. Nepovinný argument odovzdajte do funkcie Back na vynútenie konkrétneho prechodu.

Back zvyčajne sa vracia hodnotu pravda, ale vracia aj hodnotu nepravda, ak používateľ od spustenia aplikácie neprešiel na inú obrazovku.

Syntax

Back( [ Transition ] )

  • Transition – voliteľné. Vizuálny prechod, ktorý sa použije medzi aktuálnou obrazovkou a predchádzajúcou obrazovkou. V tomto článku si pozrite zoznam platných hodnôt tohto argumentu. V predvolenom nastavení je prechod, cez ktorý sa obrazovka vracia, inverzný k prechodu, cez ktorý sa objavila.

NavigateScreen [, Transition [, UpdateContextRecord ] ] )

  • Screen – povinné. Obrazovka, ktorá sa má zobraziť. Namiesto Obrazovky môžete použiť aj ovládací prvok na obrazovke, na ktorú chcete prejsť.
  • Transition – voliteľné. Vizuálny prechod, ktorý sa použije medzi aktuálnou obrazovkou a nasledujúcou obrazovkou. V tomto článku si pozrite zoznam platných hodnôt tohto argumentu. Predvolená hodnota je None.
  • UpdateContextRecord – voliteľné. Záznam, ktorý obsahuje názov aspoň jedného stĺpca a hodnotu pre každý stĺpec. Tento záznam aktualizuje kontextové premenné novej obrazovky tak, akoby sa odovzdal do funkcie UpdateContext.

Príklady

Vzorec Popis Výsledok
Navigate( Details ) Zobrazí obrazovku Details (Podrobnosti) bez prechodu alebo zmeny hodnoty kontextovej premennej. Obrazovka Details (Podrobnosti) sa rýchlo zobrazí.
Navigate( Details, ScreenTransition.Fade ) Zobrazí obrazovku Details (Podrobnosti) s prechodom Fade (Zmiznutie). Nezmení sa žiadna hodnota kontextovej premennej. Aktuálna obrazovka zmizne a zobrazí sa obrazovka Details (Podrobnosti).
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Zobrazí obrazovku Details (Podrobnosti) s prechodom Fade (Zmiznutie) a aktualizuje kontextovú premennú ID na hodnotu 12. Aktuálna obrazovka zmizne, zobrazí sa obrazovka Details (Podrobnosti) a kontextová premenná ID na danej obrazovke sa nastaví na hodnotu 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Zobrazí obrazovku Details (Podrobnosti) s prechodom Fade (Zmiznutie). Aktualizuje kontextovú premennú ID na hodnotu 12 a kontextovú premennú Shade (Odtieň) aktualizuje na hodnotu Color.Red. Aktuálna obrazovka zmizne a zobrazí sa obrazovka Details (Podrobnosti). Kontextová premenná ID na obrazovke Details (Podrobnosti) je nastavená na hodnotu 12 a kontextová premenná Shade (Odtieň) je nastavená na hodnotu Color.Red. Ak nastavíte vlastnosť Fill (Vyplniť) ovládacieho prvku na obrazovke Details (Podrobnosti) na hodnotu Shade (Odtieň), ovládací prvok sa zobrazí s červenou farbou.
Back() Zobrazí predchádzajúcu obrazovku s predvoleným návratovým prechodom. Zobrazí predchádzajúcu obrazovku prostredníctvom inverzného prechodu k tomu prechodu, cez ktorý sa aktuálna obrazovka objavila.
Back( ScreenTransition.Cover ) Zobrazí predchádzajúcu obrazovku s prechodom Cover. Zobrazí predchádzajúcu obrazovku prostredníctvom prechodu Cover bez ohľadu na prechod, cez ktorý sa aktuálna obrazovka objavila.

Podrobný popis

  1. Vytvorte prázdnu aplikáciu.

  2. Pridajte k nej druhú obrazovku.

    Aplikácia obsahuje dve prázdne obrazovky: Screen1 a Screen2.

  3. Vlastnosť Fill obrazovky Screen2 nastavte na hodnotu Gray.

  4. Na Screen2 pridajte tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Podržte kláves Alt a vyberte tlačidlo.

    Screen1 sa objaví s bielym pozadím cez prechod s pokrytím doľava.

  6. Na Screen1 pridajte tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:

    Back()
    
  7. Podržte kláves Alt a vyberte tlačidlo.

    Druhá obrazovka sa objaví so sivým pozadím cez prechod, ktorý odkrýva smerom doprava (inverzne k efektu Cover).

  8. Opakovaným výberom tlačidla na každej obrazovke sa môžete pohybovať tam a späť.

Pozrite si tiež

Použitie kontextových premenných