Grįžimo ir naršymo funkcijos
Keičia, kuris ekranas rodomas.
Apžvalga
Daugumoje programų yra keli ekranai. Naudodami funkcijas Back ir Navigate, galite keisti, kuris ekranas rodomas. Pavyzdžiui, mygtuko ypatybę OnSelect nustatykite kaip formulę, kurioje yra funkcija Navigate, jei norite rodyti kitą ekraną, kai vartotojas pasirenka tą mygtuką. Šioje formulėje galite nurodyti vaizdinį perėjimą, pvz., Fade, ir valdyti, kaip vienas ekranas keičiasi į kitą.
Atgal ir Naršyti pakeiskite tik tai, kuris ekranas rodomas. Ekranai, kurie tuo metu nerodomi, toliau veikia fone. Galite kurti formules, nurodančias į kitų ekranų valdiklių ypatybes. Pavyzdžiui, vartotojas gali pakeisti slankiklio reikšmę viename ekrane, pereiti į kitą ekraną, kuriame ta reikšmė naudojama formulėje, ir nustatyti, kokią įtaką ji turi tam, kas vyksta naujame ekrane. Tada vartotojas gali grįžti į pradinį ekraną ir patvirtinti, kad slankiklio reikšmė išliko.
Kontekstiniai kintamieji taip pat išsaugomi, kai vartotojas naršo tarp ekranų. Naudodami Navigate, galite nustatyti vieną ar kelis ekrano konteksto kintamuosius, kuriuos rodys formulė – tai yra vienintelis būdas nustatyti konteksto kintamąjį ne ekrane. Naudodami šį metodą, galite parametrus perduoti į ekraną. Jei esate naudoję kitą programavimo įrankį, šis metodas yra panašus į parametrų perdavimą procedūroms.
Naudokite programos objekto StartScreen ypatybę ir valdykite pirmąjį rodomą ekraną.
Bet kurią funkciją galite naudoti tik veikimo formulėje.
Pereiti
Taikoma: drobės programoms
Modeliu pagrįstoms programoms
Pirmajame argumente nurodykite rodytino ekrano pavadinimą.
Antrajame argumente nurodykite, kaip senasis ekranas pasikeičia į naują ekraną:
Perėjimo argumentas | Aprašas | Demonstracija |
---|---|---|
ScreenTransition.Cover | Naujas ekranas įslenka į vaizdą iš dešinės į kairę ir uždengia dabartinį ekraną. | ![]() |
ScreenTransition.CoverRight | Naujas ekranas įslenka į vaizdą iš kairės į dešinę ir uždengia dabartinį ekraną. | ![]() |
ScreenTransition.Fade | Dabartinis ekranas išnyksta ir atidengia naują ekraną. | ![]() |
ScreenTransition.None (numatytasis) | Naujas ekranas greitai pakeičia dabartinį ekraną. | ![]() |
ScreenTransition.UnCover | Dabartinis ekranas išslenka iš vaizdo iš dešinės į kairę ir atidengia naują ekraną. | ![]() |
ScreenTransition.UnCoverRight | Dabartinis ekranas išslenka iš vaizdo iš kairės į dešinę ir atidengia naują ekraną. | ![]() |
Naudodami Navigate, galite sukurti arba atnaujinti naujo ekrano konteksto kintamuosius. Kaip pasirenkamąjį trečiąjį argumentą perduokite įrašą, kuriame kaip stulpelio pavadinimas yra konteksto kintamojo pavadinimas ir naujoji konteksto kintamojo reikšmė. Šis įrašas yra tas pats, kurį naudojate su funkcija UpdateContext.
Norėdami atlikti papildomų pakeitimų perėjimo metu, nustatykite senojo ekrano ypatybę OnHidden, naujojo ekrano ypatybę OnVisible arba jas abi. Bus atnaujinta ypatybė App.ActiveScreen, kad matytųsi pakeitimas.
Navigacija paprastai pateikia true (teisinga ), bet pateikia klaidingą , jei įvyksta klaida.
Naršymo konteksto kintamieji paaiškinti straipsnyje ekranų naršymas.
Atgal
Taikoma: drobės programoms
Funkcija Back grąžina į vėliausiai rodytą ekraną.
Kai kaskart iškviečiama Navigate, programa seką pasirodžiusį ekraną ir perėjimą. Vieną po kitos naudodami kelias Back iškvietas, galite grįžti į ekraną, kuris buvo rodomas vartotojui paleidus programą.
Kai vykdoma funkcija Back, pagal numatytuosius parametrus naudojamas atvirkštinis perėjimas. Pavyzdžiui, jei ekranas pasirodė per perėjimą CoverRight, Back grįžta naudodama UnCover (kuris slenka į kairę). "Fade " ir "None" yra jų pačių atvirkštiniai. Norėdami priverstinai naudoti konkretų perėjimą, funkcijai Back perduokite pasirenkamąjį argumentą.
Atgal paprastai pateikia true (teisinga ), bet pateikia false (klaidinga ), jei naudotojas nuo programos paleidimo neperėjo į kitą ekraną.
Sintaksė
Atgal( [ Perėjimas ] )
- Pereinamasis laikotarpis - neprivalomas. Vaizdinis perėjimas, naudotinas tarp dabartinio ir ankstesnio ekranų. Žr. pirmiau šiame straipsnyje esantį tinkamų šio argumento reikšmių sąrašą. Numatyta, kad perėjimas, per kurį ekranas grįžta, yra atvirkštinis perėjimui, per kurį jis pasirodė.
Naršyti(Ekranas [, Transition [, UpdateContextRecord ] ] )
- Ekranas - būtinas. Rodytinas ekranas. Vietoj ekrano taip pat galite naudoti valdiklį, esantį ekrane, į kurį norite pereiti.
- Pereinamasis laikotarpis - neprivalomas. Vaizdinis perėjimas, naudotinas tarp dabartinio ir kito ekranų. Žr. pirmiau šiame straipsnyje esantį tinkamų šio argumento reikšmių sąrašą. Numatytoji reikšmė yra None.
- UpdateContextRecord - pasirinktinai. Įrašas, kuriame yra bent vieno stulpelio pavadinimas ir kiekvieno stulpelio reikšmė. Šis įrašas atnaujina naujojo ekrano konteksto kintamuosius taip, tarsi jie būtų perduoti funkcijai UpdateContext.
Pavyzdžiai
Formulė | Aprašas | Rezultatas |
---|---|---|
Navigacija( Išsami informacija ) | Rodomas ekranas Details be perėjimo ir nekeičiant konteksto kintamojo reikšmės. | Greitai pasirodo ekranas Details. |
Navigate( Details, ScreenTransition.Fade ) | Rodomas ekranas Details su perėjimu Fade. Nekeičiama jokia konteksto kintamojo reikšmė. | Dabartinis ekranas išnyksta, kad būtų rodomas ekranas Details. |
Navigate( Details, ScreenTransition.Fade,ID { : 12 } ) | Rodomas ekranas Details su perėjimu Fade ir konteksto kintamojo ID reikšmė atnaujinama į 12. | Dabartinis ekranas išnyksta, kad būtų rodomas ekranas Details, o tame ekrane konteksto kintamasis ID nustatomas kaip 12. |
Navigate( Details, ScreenTransition.Fade,ID { : 12, Shade: Color.Red } ) | Rodomas ekranas Details su perėjimu Fade. Konteksto kintamojo ID reikšmę atnaujina į 12, o kontkesto kintamojo Shade – į Color.Red. | Dabartinis ekranas išnyksta, kad būtų rodomas ekranas Details. Konteksto kintamasis ID ekrane Details nustatomas kaip 12, o konteksto kintamasis Shade nustatomas kaip Color.Red. Jei ekrane Details valdiklio ypatybę Fill nustatytumėte kaip Shade, tas valdiklis būtų rodomas raudonai. |
Atgal() | Rodomas ankstesnis ekranas su numatytuoju grįžtamuoju perėjimu. | Rodomas ankstesnis ekranas per atvirkštinį perėjimą tam perėjimui, per kurį ekranas pasirodė. |
Back( ScreenTransition.Cover ) | Rodomas ankstesnis ekranas su perėjimu Cover. | Rodomas ankstesnis ekranas per perėjimą Cover, neatsižvelgiant į perėjimą, per kurį pasirodė dabartinis ekranas. |
Nuoseklūs veiksmai
Sukurkite tuščią programą.
Į ją įtraukite antrą ekraną.
Programoje yra du tušti ekranai: Screen1 ir Screen2.
Screen2 ypatybę Fill nustatykite kaip reikšmę
Gray
.Ekrane Screen2 įtraukite mygtuką ir jo ypatybę OnSelect nustatykite kaip šią formulę:
Navigate( Screen1, ScreenTransition.Cover )
Laikydami nuspaudę klavišą Alt, pasirinkite mygtuką.
Ekranas1 rodomas baltu fonu per perėjimą, kuris apima į kairę.
Ekrane Screen1 įtraukite mygtuką ir jo ypatybę OnSelect nustatykite kaip šią formulę:
Back()
Laikydami nuspaudę klavišą Alt, pasirinkite mygtuką.
Antrasis ekranas pasirodo su pilku fonu per perėjimą, kuris atsidengia į dešinę (atvirkštinis perėjimui Cover).
Norėdami šokinėti tarp ekranų, pakartotinai pasirinkite kiekvieno ekrano mygtuką.