Funkce Back a Navigate

Změní zobrazenou obrazovku na jinou.

Přehled

Většina aplikací obsahuje více obrazovek. Pomocí funkcí Back a Navigate můžete změnit zobrazenou obrazovku na jinou. Můžete třeba nastavit vlastnost OnSelect tlačítka na vzorec obsahující funkci Navigate. Když uživatel toto tlačítko vybere, zobrazí se jiná obrazovka. V tomto vzorci můžete zadat vizuální přechod, například Fade, a určit tak, jak se má jedna obrazovka změnit na druhou.

Funkce Back a Navigate mění jenom to, která obrazovka se zobrazuje. Obrazovky, které nejsou aktuálně zobrazené, fungují dál na pozadí. Můžete vytvořit vzorce, které odkazují na vlastnosti ovládacích prvků na jiných obrazovkách. Uživatel může třeba změnit hodnotu posuvníku na jedné obrazovce, přejít (navigovat) na jinou obrazovku, která tuto hodnotu použije ve vzorci, a určit, co se tím na nové obrazovce změní. Potom se může vrátit na původní obrazovku a potvrdit, že hodnota posuvníku zůstává stejná.

Když uživatel přechází mezi obrazovkami, zachovají se i kontextové proměnné. Pomocí funkce Navigate můžete nastavit jednu nebo více kontextových proměnných pro obrazovku, kterou tento vzorec zobrazí. Je to jediný způsob, jak nastavit kontextovou proměnnou z vnějšku obrazovky. Tímto způsobem můžete předávat obrazovce parametry. Pokud jste někdy používali jiný programovací nástroj, je to podobné jako předávání parametrů procedurám.

Použijte vlastnost StartScreen objektu Aplikace pro určení první obrazovky k zobrazení.

Tyto funkce se dají používat jenom ve vzorcích chování.

Platí pro: aplikace plátna modelem řízené aplikace

V prvním argumentu zadejte název obrazovky, která se má zobrazit.

V druhém argumentu zadejte, jak se má stará obrazovka změnit na novou obrazovku:

Argument přechodu Popis Ukázka
ScreenTransition.Cover Nová obrazovka se zleva doprava posune do zobrazení a zakryje aktuální obrazovku. animace přechodu obrazovky překrytím.
ScreenTransition.CoverRight Nová obrazovka se zprava doleva posune do zobrazení a zakryje aktuální obrazovku. animace přechodu obrazovky překrytím zprava.
ScreenTransition.Fade Aktuální obrazovka pomalu zmizí a odhalí novou obrazovku. animace přechodu obrazovky postupným zmizením.
ScreenTransition.None (Výchozí) Nová obrazovka rychle nahradí aktuální obrazovku. přechod obrazovky bez animace.
ScreenTransition.UnCover Aktuální obrazovka se posune ze zobrazení zprava doleva a odhalí novou obrazovku. animace přechodu obrazovky odkrytím.
ScreenTransition.UnCoverRight Aktuální obrazovka se posune ze zobrazení zleva doprava a odhalí novou obrazovku. animace přechodu obrazovky odkrytím zprava.

Pomocí funkce Navigate můžete vytvořit nebo aktualizovat kontextové proměnné nové obrazovky. Jako nepovinný třetí argument můžete předat záznam, který obsahuje název kontextové proměnné jako název sloupce a novou hodnotu kontextové proměnné. Tento záznam je stejný jako záznam, který se používá u funkce UpdateContext.

Když chcete udělat během přechodu další změny, můžete nastavit vlastnost OnHidden staré obrazovky, vlastnost OnVisible nové obrazovky nebo obě tyto vlastnosti. Aby se změna projevila, aktualizuje se vlastnost App.ActiveScreen.

Funkce Navigovat normálně vrací hodnotu true, ale vrátí hodnotu false, pokud dojde k chybě.

V článku o přecházení mezi obrazovkami jsou vysvětleny kontextové proměnné pro přecházení.

Back

Platí pro: aplikace plátna

Funkce Back vrací na obrazovku, které byla zobrazená naposledy.

Pro každé volání funkce Navigate aplikace sleduje obrazovku, která se zobrazila, a přechod. Můžete použít několik volání funkce Back za sebou, až se vrátíte na obrazovku, která byla zobrazena při spuštění aplikace uživatelem.

Při spuštění funkce Back se ve výchozím nastavení použije inverzní přechod. Pokud se například na obrazovce zobrazila obrazovka prostřednictvím přechodu CoverRight, funkce Back použije k návratu argument UnCover (směrem doleva). Parametry Fade a None jsou samy sobě inverzní. Předejte volitelný argument funkci Back, chcete-li vynutit konkrétní přechod.

Funkce Back normálně se vrací hodnotu true, ale vrátí hodnotu false, pokud uživatel od spuštění aplikace nepřešel na jinou obrazovku.

Syntaxe

Back( [ Přechod ] )

  • Přechod – Volitelné. Požadovaný vizuální přechod mezi aktuální obrazovkou a předchozí obrazovkou. Viz seznam platných hodnot tohoto argumentu najdete výše v tomto článku. Ve výchozím nastavení je přechod, pomocí kterého se obrazovka vrací, inverzní vůči přechodu, pomocí kterého byla zobrazena.

Navigate( Obrazovka [, Přechod [, ZáznamProAktualizaciKontextu ] ] )

  • Obrazovka – povinné. Obrazovka, která se má zobrazit. Namísto Obrazovky můžete také použít ovládací prvek na obrazovce, na kterou chcete přejít.
  • Přechod – Volitelné. Požadovaný vizuální přechod mezi aktuální obrazovkou a další obrazovkou. Viz seznam platných hodnot tohoto argumentu najdete výše v tomto článku. Výchozí hodnota je None.
  • ZáznamProAktualizaciKontextu – volitelné. Záznam, který obsahuje název aspoň jednoho sloupce a hodnotu pro každý uvedený sloupec. Tento záznam aktualizuje kontextové proměnné nové obrazovky stejně, jako kdyby byl předán funkci UpdateContext.

Příklady

Vzorec Popis Výsledek
Navigate( Podrobnosti ) Zobrazí obrazovku Podrobnosti bez přechodu a beze změny hodnot kontextových proměnných. Rychle se zobrazí obrazovka Podrobnosti.
Navigate(Podrobnosti, ScreenTransition.Fade) Zobrazí obrazovku Podrobnosti s přechodem Fade. Hodnoty kontextových proměnných se nezmění. Aktuální obrazovka pomalu zmizí a zobrazí se obrazovka Podrobnosti.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Zobrazí obrazovku Podrobnosti s přechodem Fade a aktualizuje hodnotu kontextové proměnné ID na hodnotu 12. Aktuální obrazovka pomalu zmizí a zobrazí se obrazovka Podrobnosti. Kontextová proměnná ID na této obrazovce se nastaví na hodnotu 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Zobrazí obrazovku Podrobnosti s přechodem Fade. Aktualizuje hodnotu kontextové proměnné ID na hodnotu 12 a aktualizuje hodnotu kontextové proměnné Shade na hodnotu Color.Red. Aktuální obrazovka pomalu zmizí a zobrazí se obrazovka Podrobnosti. Kontextová proměnná ID na obrazovce Podrobnosti se nastaví na hodnotu 12 a kontextová proměnná Shade se nastaví na hodnotu Color.Red. Pokud jste nastavili vlastnost Fill ovládacího prvku na obrazovce Podrobnosti na Shade, zobrazí se tento ovládací prvek jako červený.
Back() Zobrazí předchozí obrazovku s výchozím přechodem pro návrat. Zobrazí předchozí obrazovku s použitím inverzního přechodu vůči přechodu, pomocí kterého byla zobrazena aktuální obrazovka.
Back( ScreenTransition.Cover ) Zobrazí předchozí obrazovku pomocí přechodu Cover. Zobrazí předchozí obrazovku s použitím přechodu Cover bez ohledu na přechod, pomocí kterého byla zobrazena aktuální obrazovka.

Podrobný postup

  1. Vytvořte prázdnou aplikaci.

  2. Přidejte do ní druhou obrazovku.

    Aplikace obsahuje dvě prázdné obrazovky: Screen1 a Screen2.

  3. Nastavte vlastnost Fill obrazovky Screen2 na hodnotu Gray.

  4. Na obrazovce Screen2 přidejte tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Zatímco držíte klávesu Alt, vyberte tlačítko.

    Zobrazí se obrazovka Screen1 s bílým pozadím pomocí přechodu, který obrazovku zakrývá směrem doleva.

  6. Na obrazovce Screen1 přidejte tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:

    Back()
    
  7. Zatímco držíte klávesu Alt, vyberte tlačítko.

    Druhá obrazovka se zobrazí se šedým pozadím prostřednictvím přechodu, který obrazovku odkryje směrem doprava (inverzní vůči přechodu Cover).

  8. Opakovaným výběrem tlačítka na každé obrazovce se můžete pohybovat tam a zpět.

Viz také

Použití kontextových proměnných