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.
Zpět a Navigace změňte pouze to, která obrazovka se zobrazí. 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á.
Kontextové proměnné jsou také zachovány, když uživatel přechází mezi obrazovkami. 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í.
Navigate
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. | |
ScreenTransition.CoverRight | Nová obrazovka se zprava doleva posune do zobrazení a zakryje aktuální obrazovku. | |
ScreenTransition.Fade | Aktuální obrazovka pomalu zmizí a odhalí novou obrazovku. | |
ScreenTransition.None (výchozí) | Nová obrazovka rychle nahradí aktuální obrazovku. | |
ScreenTransition.UnCover | Aktuální obrazovka se posune ze zobrazení zprava doleva a odhalí novou obrazovku. | |
ScreenTransition.UnCoverRight | Aktuální obrazovka se posune ze zobrazení zleva doprava a odhalí novou obrazovku. |
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.
Navigace normálně vrací pravda ale vrátí nepravda 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 Canvas
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). Fade a Žádné jsou jejich vlastní inverze. Předejte volitelný argument funkci Back, chcete-li vynutit konkrétní přechod.
Zpět normálně vrátí pravda ale vrátí nepravda pokud uživatel nepřešel na jiná obrazovka od spuštění aplikace.
Syntaxe
Zpět( [ 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.
Navigace( Obrazovka [, Přechod [, UpdateContextRecord ] ] )
- 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.
- UpdateContextRecord – 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 |
---|---|---|
Navigovat (Podrobnosti) | Zobrazí obrazovku Podrobnosti bez přechodu a beze změny hodnot kontextových proměnných. | Rychle se zobrazí obrazovka Podrobnosti. |
Navigovat (Detaily, 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. |
Navigovat( Podrobnosti, 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. |
Navigovat( Podrobnosti, ScreenTransition.Fade, { ID: 12, Odstín: Barva.Červená } ) | 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ý. |
Zadní() | 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. |
Zpět ( 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
Vytvořte prázdnou aplikaci.
Přidejte do ní druhou obrazovku.
Aplikace obsahuje dvě prázdné obrazovky: Screen1 a Screen2.
Nastavte vlastnost Fill obrazovky Screen2 na hodnotu
Gray
.Na obrazovce Screen2 přidejte tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
Navigate( Screen1, ScreenTransition.Cover )
Zatímco držíte klávesu Alt, vyberte tlačítko.
Obrazovka1 se zobrazí s bílým pozadím přes přechod, který překrývá doleva.
Na obrazovce Screen1 přidejte tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
Back()
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).
Opakovaným výběrem tlačítka na každé obrazovce se můžete pohybovat tam a zpět.