Funzioni Back e Navigate

Cambiano la schermata visualizzata.

Descrizione

La maggior parte delle app contengono diverse schermate. Usare le funzioni Back e Navigate per cambiare la schermata visualizzata. Ad esempio, impostare la proprietà OnSelect di un pulsante su una formula che include la funzione Navigate se si vuole visualizzare un'altra schermata quando l'utente selezione tale pulsante. Nella formula, è possibile specificare una transizione visiva, ad esempio dissolvenza, per controllare come una schermata cambia in un'altra.

Le funzioni Back e Navigate cambiano solo la schermata visualizzata. Le schermate che non sono attualmente visualizzate continuano a essere eseguite in background. È possibile creare formule che fanno riferimento alle proprietà dei controlli in altre schermate. Ad esempio, un utente può modificare il valore di un dispositivo di scorrimento in una schermata, passare a un'altra schermata che usa tale valore in una formula e determinare gli effetti nella nuova schermata. L'utente può quindi tornare alla schermata originale e confermare che il dispositivo di scorrimento ha mantenuto il valore.

Le variabili di contesto vengono mantenute anche quando un utente si sposta tra le schermate. È possibile usare la funzione Navigate per impostare una o più variabili di contesto per la schermata che verrà visualizzata dalla formula. Questo è l'unico modo per impostare una variabile di contesto fuori dalla schermata. È possibile usare questo approccio per passare parametri a una schermata. Se si ha esperienza con un altro strumento di programmazione, questo approccio è simile al passaggio di parametri alle procedure.

Usa la proprietà StartScreen dell'oggetto App per controllare la prima schermata da visualizzare.

È possibile usare queste funzioni solo in una formula di comportamento.

Si applica a: App canvas App basate su modello

Nel primo argomento, specificare il nome della schermata da visualizzare.

Nel secondo argomento, specificare in che modo la schermata precedente passa alla nuova:

Argomento di transizione Descrizione Dimostrazione
ScreenTransition.Cover La nuova schermata entra nella visualizzazione, spostandosi da destra a sinistra, per coprire la schermata corrente. Animazione con ScreenTransition.Cover.
ScreenTransition.CoverRight La nuova schermata entra nella visualizzazione, spostandosi da sinistra a destra, per coprire la schermata corrente. Animazione con ScreenTransition.CoverRight.
ScreenTransition.Fade La schermata corrente si dissolve per consentire la visualizzazione della nuova schermata. Animazione con ScreenTransition.Fade.
ScreenTransition.None (Predefinito) La nuova schermata sostituisce rapidamente la schermata corrente. Animazione con ScreenTransition.None.
ScreenTransition.UnCover La schermata corrente esce dalla visualizzazione, spostandosi da destra a sinistra, per visualizzare la nuova schermata. Animazione con ScreenTransition.UnCover.
ScreenTransition.UnCoverRight La schermata corrente esce dalla visualizzazione, spostandosi da sinistra a destra, per visualizzare la nuova schermata. Animazione con ScreenTransition.UnCoverRight.

È possibile usare la funzione Navigate per creare o aggiornare le variabili di contesto della nuova schermata. Come terzo argomento facoltativo, indicare un record che contiene il nome di una variabile di contesto come nome colonna e il nuovo valore per la variabile di contesto. Questo è lo stesso record usato con la funzione UpdateContext.

Impostare la proprietà OnHidden della schermata precedente, la proprietà OnVisible della nuova schermata o entrambe per implementare altre modifiche durante la transizione. La proprietà App.ActiveScreen verrà aggiornata per riflettere la modifica.

La funzione Navigate restituisce in genere true, ma in caso di errore restituisce false.

Le variabili di contesto per la navigazione sono descritte nell'articolo Passare da una schermata all'altra.

Back

Si applica a: App canvas

La funzione Back consente di tornare all'utima schermata visualizzata.

Per ogni chiamata Navigate, l'app tiene traccia della schermata visualizzata e della transizione. È possibile utilizzare chiamate Back successive per tornare alla schermata visualizzata all'avvio dell'app.

Quando la funzione Back viene eseguita, per impostazione predefinita viene utilizzata la transizione inversa. Ad esempio, se una schermata è apparsa durante la transizione CoverRight, Back utilizza UnCover (che è a sinistra). Fade e None sono i relativi inversi. Passare un argomento facoltativo a Back per forzare una transizione specifica.

Back in genere restituisce true ma restituisce false se l'utente non è passato a un'altra schermata da quando ha avviato l'app.

Sintassi

Back( [ Transition ] )

  • Transition: facoltativo. La transizione visiva da usare tra la schermata corrente e la schermata precedente. Vedere l'elenco dei valori validi per questo argomento nelle sezioni precedenti di questo articolo. Per impostazione predefinita, la transizione mediante la quale una schermata ritorna è l'inverso della transizione mediante la quale è apparsa.

Navigate( Screen [, Transition [, UpdateContextRecord ] ] )

  • Screen: obbligatorio. La schermata da visualizzare. Al posto di Schermata, puoi anche utilizzare un controllo che si trova nella schermata a cui desideri accedere.
  • Transition: facoltativo. La transizione visiva da usare tra la schermata corrente e la schermata successiva. Vedere l'elenco dei valori validi per questo argomento nelle sezioni precedenti di questo articolo. Il valore predefinito è None.
  • UpdateContextRecord: facoltativo. Un record che contiene il nome di almeno una colonna e un valore per ogni colonna. Questo record aggiorna le variabili di contesto della nuova schermata come se fossero stati passati alla funzione UpdateContext.

Esempi

Formula Descrizione Risultato
Navigate( Details ) Visualizza la schermata Details senza transizione o cambia in un valore per una variabile di contesto. La schermata Dettagli appare rapidamente.
Navigate( Details, ScreenTransition.Fade ) Consente di visualizzare la schermata Dettagli con una transizione di dissolvenza (Fade). Non viene modificato alcun valore delle variabili di contesto. La schermata corrente scompare con una dissolvenza e appare la schermata Dettagli.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Consente di visualizzare la schermata Dettagli con una transizione di dissolvenza (Fade) e aggiorna il valore della variabile di contesto ID impostandolo su 12. La schermata corrente si dissolve in uscita per visualizzare la schermata Details e la variabile di contesto ID di tale schermata viene impostata su 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Visualizza la schermata Details con una transizione Fade. Aggiorna il valore della variabile di contesto ID a 12 e aggiorna il valore della variabile di contesto Shade a Color.Red. La schermata corrente si dissolve in uscita per visualizzare la schermata Details. La variabile di contesto ID della schermata Details viene impostata su 12e la variabile di contesto Shade viene impostata suColor.Red. Se si imposta la proprietà Fill di un controllo della schermata Details su Shade, tale controllo verrà visualizzato in rosso.
Back() Visualizza la schermata precedente con la transizione di ritorno predefinita. Visualizza la schermata precedente tramite la transizione inversa della transizione mediante la quale la schermata corrente è apparsa.
Back( ScreenTransition.Cover ) Visualizza la schermata precedente con la transizione Cover. Visualizza la schermata precedente tramite la transizione Cover, indipendentemente dalla transizione mediante la quale la schermata corrente è apparsa.

Procedura dettagliata

  1. Creare un'app vuota.

  2. Aggiungere una seconda schermata alla stessa.

    L'app contiene due schermate vuote: Screen1 e Screen2.

  3. Impostare la proprietà Fill di Screen2 su Gray.

  4. In Screen2, aggiungere un pulsante e impostare la relativa proprietà OnSelect su questa formula:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Selezionare il pulsante tenendo premuto il tasto ALT.

    Screen1 appare con uno sfondo bianco mediante una transizione che copre a sinistra.

  6. In Screen1, aggiungere un pulsante e impostare la relativa proprietà OnSelect su questa formula:

    Back()
    
  7. Selezionare il pulsante tenendo premuto il tasto ALT.

    La seconda schermata appare con uno sfondo grigio tramite una transizione che appare a destra (l'inverso di Cover).

  8. Selezionare il pulsante in ogni schermata ripetutamente per tornare indietro e di nuovo avanti.

Vedi anche

Utilizzare variabili di contesto