Funcions enrere i navegació
Canvia quina pantalla es mostra.
Informació general
La majoria d'aplicacions contenen diverses pantalles. Utilitzeu la funció Back i Navigate per canviar la pantalla que es mostra. Per exemple, definiu la propietat OnSelect d'un botó a una fórmula que inclogui una funció Navigate si voleu mostrar una altra pantalla quan un usuari seleccioni aquest botó. A la fórmula, podeu especificar una transició visual, com ara Fade, per controlar la manera com canvia una pantalla a una altra.
Back i Navigate només canvien la pantalla que es mostra. Les pantalles que actualment no es mostren continuen en funcionament en segon pla. Podeu crear fórmules que facin referència a propietats de controls d'altres pantalles. Per exemple, un usuari pot canviar el valor d'un control lliscant d'una pantalla, anar a una altra pantalla que utilitza aquest valor en una fórmula i determinar com afecta què passa a la pantalla nova. L'usuari pot tornar a navegar a la pantalla original i confirmar que el control lliscant hagi conservat el seu valor.
Les variables de context també es conserven quan un usuari navega entre pantalles. Podeu utilitzar Navigate per definir una o més variables de context per a la pantalla que mostrarà la fórmula, que és l'única manera de definir una variable de context des de fora de la pantalla. Podeu utilitzar aquest mètode per passar paràmetres a una pantalla. Si heu utilitzat una altra eina de programació, aquest mètode és similar a passar paràmetres als procediments.
Utilitzeu la propietat StartScreen de l'objecte App per controlar la primera pantalla que es visualitzarà.
Podeu utilitzar les funcions dins d'una fórmula de comportament.
Navega
S'aplica a: Aplicacions del llenç Aplicacions basades en models
Al primer argument, especifiqueu el nom de la pantalla que es mostrarà.
Al segon argument, especifiqueu com es canvia de la pantalla anterior a la pantalla nova:
Argument de transició | Descripció | Demostració |
---|---|---|
ScreenTransition.Cover | La nova pantalla entra a la visualització, en un moviment de dreta a esquerra, per cobrir la pantalla actual. | |
ScreenTransition.CoverRight | La nova pantalla entra a la visualització, en un moviment d'esquerra a dreta, per cobrir la pantalla actual. | |
ScreenTransition.Fade | La pantalla actual s'esvaeix per mostrar la pantalla nova. | |
ScreenTransition.None (per defecte) | La pantalla nova substitueix ràpidament la pantalla actual. | |
ScreenTransition.UnCover | La pantalla actual surt la visualització, en un moviment de dreta a esquerra, per mostrar la pantalla nova. | |
ScreenTransition.UnCoverRight | La pantalla actual surt la visualització, en un moviment d'esquerra a dreta, per mostrar la pantalla nova. |
Podeu utilitzar Navigate per crear o actualitzar variables de context de la pantalla nova. Com a tercer argument opcional, passa un registre que conté el nom de la variable de context com a nom de columna i el valor nou de la variable de context. Aquest registre és el mateix que el registre que utilitzeu amb la funció UpdateContext.
Definiu la propietat OnHidden de la pantalla anterior, la propietat OnVisible de la pantalla nova o totes dues per fer canvis addicionals durant la transició. La propietat App.ActiveScreen s'actualitzarà per reflectir el canvi.
Navigate normalment torna true, però retornarà false si s'ha trobat un error.
Les variables de context per a la navegació s'expliquen a l'article Navegar entre pantalles.
Endarrere
S'aplica a: Aplicacions de llenç
La funció Back torna a la pantalla que s'ha visualitzat més recentment.
Per a cada trucada Navigate, l'aplicació segueix la pantalla que ha aparegut i la transició. Podeu utilitzar les trucades Back successives per tornar a la pantalla que s'ha mostrat quan l'usuari ha iniciat l'aplicació.
Quan s'executa la funció Back posterior, la transició inversa s'utilitza per defecte. Per exemple, si una pantalla ha aparegut per mitjà de la transició CoverRight, Back utilitza UnCover (que va a l'esquerra) per tornar-hi. Fade i None són les seves mateixes transicions inverses. Passeu un argument opcional a Back per forçar una transició concreta.
Back normalment torna true, però torna false si l'usuari no ha navegat a cap altra pantalla des que ha iniciat l'aplicació.
Sintaxi
Back([Transició])
- Transició: opcional. La transició visual que s'utilitzarà entre la pantalla actual i la pantalla anterior. Consulteu la llista de valors vàlids d'aquest argument que trobareu més amunt en aquest mateix article. Per defecte, la transició a través de la qual torna una pantalla és la inversa de la transició a través de la qual ha aparegut.
Navigate(Pantalla, [Transició, [UpdateContextRecord]])
- Pantalla: obligatori. La pantalla que es mostrarà. En lloc de Pantalla, també podeu utilitzar un control que es troba a la pantalla a la qual voleu navegar.
- Transició: opcional. La transició visual que s'utilitzarà entre la pantalla actual i la pantalla següent. Vegeu la llista de valors vàlids d'aquest argument que trobareu més amunt en aquest mateix article. El valor per defecte és None.
- UpdateContextRecord: opcional. Un registre que conté el nom d'almenys una columna i un valor per a cada columna. Aquest registre actualitza les variables de context de la nova pantalla com si passés a la funció UpdateContext.
Exemples
Fórmula | Descripció | Resultat |
---|---|---|
Navigate(Detalls) | Mostra la pantalla Detalls sense cap transició ni canvi d'un valor d'una variable de context. | La pantalla Detalls apareix ràpidament. |
Navigate(Detalls, ScreenTransition.Fade) | Mostra la pantalla Detalls amb una transició Fade. No es canvia cap valor d'una variable de context. | La pantalla actual s'esvaeix per mostrar la pantalla Detalls. |
Navigate(Detalls, ScreenTransition.Fade, { ID: 12 } ) | Mostra la pantalla Detalls amb una transició Fade i actualitza el valor de la variable de context ID a 12. | La pantalla actual s'esvaeix per mostrar la pantalla Detalls i la variable de context ID de la pantalla es defineix com a 12. |
Navigate( Detalls, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) | Mostra la pantalla Detalls amb una transició Fade. Actualitza el valor de la variable de context ID a 12 i actualitza el valor de la variable de context Shade a Color.Red. | La pantalla actual s'esvaeix per mostrar la pantalla Detalls. La variable de context ID de la pantalla Detalls es defineix com a 12 i la variable de context Shade es defineix com a Color.Red. Si definiu la propietat Fill d'un control de la pantalla Detalls com a Shade, el control es mostrarà en vermell. |
Back() | Mostra la pantalla anterior amb la transició de retorn per defecte. | Mostra la pantalla anterior a través de la transició inversa de la transició a través de la qual ha aparegut la pantalla. |
Back(ScreenTransition.Cover) | Mostra la pantalla anterior amb la transició Cover. | Mostra la pantalla anterior a través de la transició Cover, independentment de la transició a través de la qual ha aparegut la pantalla. |
Pas a pas
Creeu una aplicació en blanc.
Afegiu-hi una segona pantalla.
L'aplicació conté dues pantalles en blanc: Screen1 i Screen2.
Definiu la propietat Fill de la pantalla Screen2 al valor
Gray
.A Screen2, afegiu un botó i definiu-ne la propietat OnSelect a aquesta fórmula:
Navigate( Screen1, ScreenTransition.Cover )
Mentre manteniu premuda la tecla Alt, seleccioneu el botó.
Screen1 apareix amb un fons blanc a través d'una transició que cobreix a l'esquerra.
A Screen1, afegiu un botó i definiu-ne la propietat OnSelect a aquesta fórmula:
Back()
Mentre manteniu premuda la tecla Alt, seleccioneu el botó.
La segona pantalla apareix amb un fons de color gris a través d'una transició que es descobreix a la dreta (la transició inversa de Cover).
Seleccioneu el botó de cada pantalla repetidament per recuperar canviar entre pantalles.