Fonctions Back et Navigate dans Power Apps

Permet de modifier l’écran qui s’affiche.

Vue d’ensemble

La plupart des applications contiennent plusieurs écrans. Utilisez les fonctions Back et Navigate pour modifier l’écran qui s’affiche. Par exemple, définissez la propriété OnSelect d’un bouton sur une formule qui inclut une fonction Navigate si vous souhaitez afficher un écran différent lorsqu’un utilisateur appuie sur ce bouton. Dans cette formule, vous pouvez indiquer une transition visuelle, par exemple un effet de fondu, pour contrôler le passage d’un écran à un autre.

Back et Navigate modifient uniquement l’écran qui s’affiche. Les écrans qui ne s’affichent pas continuent de fonctionner à l’arrière-plan. Vous pouvez créer des formules qui font référence aux propriétés des contrôles sur d’autres écrans. Par exemple, un utilisateur modifie la valeur d’un curseur sur un écran, accède à un autre écran qui utilise cette valeur dans une formule, puis détermine la façon dont cela affecte le nouvel écran. L’utilisateur peut ensuite revenir à l’écran d’origine et confirmer que le curseur a conservé sa valeur.

Les variables de contexte sont également préservées lorsqu’un utilisateur navigue d’un écran à l’autre. Vous pouvez utiliser Navigate afin de définir une ou plusieurs variables de contexte pour l’écran que la formule va afficher. Il s’agit là du seul moyen de définir une variable de contexte depuis l’extérieur de l’écran. Utilisez cette approche pour transmettre des paramètres à un écran. Si vous avez utilisé un autre outil de programmation, cette approche est similaire à celle consistant à transmettre des paramètres à des procédures.

Utilisez l’une de ces fonctions uniquement au sein d’une formule de comportement.

Dans le premier argument, indiquez le nom de l’écran à afficher.

Dans le deuxième argument, indiquez comment effectuer la transition de l’ancien écran au nouvel écran :

Argument de transition Description Démonstration
ScreenTransition.Cover Le nouvel écran apparaît par glissement, de droite à gauche, pour recouvrir l’écran actuel. animation de la couverture de transition d’écran
ScreenTransition.CoverRight Le nouvel écran apparaît par glissement, de gauche à droite, pour recouvrir l’écran actuel. animation de droite de la couverture de transition d’écran
ScreenTransition.Fade L’écran actuel disparaît dans un effet de fondu pour afficher le nouvel écran. animation du fondu de transition d’écran
ScreenTransition.None (par défaut) Le nouvel écran remplace rapidement l’écran actuel. aucune animation de transition d’écran
ScreenTransition.UnCover L’écran actuel disparaît de la vue, de droite à gauche, pour découvrir le nouvel écran. animation de la découverte de transition d’écran
ScreenTransition.UnCoverRight L’écran actuel disparaît de la vue, de gauche à droite, pour découvrir le nouvel écran. animation de droite de la découverture de transition d’écran

Vous pouvez utiliser Navigate pour créer ou mettre à jour les variables de contexte du nouvel écran. Comme troisième argument facultatif, transférez un enregistrement contenant le nom de la variable de contexte en tant que nom de colonne et la nouvelle valeur de la variable de contexte. Cet enregistrement est le même que celui que vous utilisez avec la fonction UpdateContext.

Définissez la propriété OnHidden de l’ancien écran et la propriété OnVisible du nouvel écran, ou les deux pour apporter des modifications supplémentaires pendant la transition. La propriété App.ActiveScreen est mise à jour pour refléter ces modifications.

Naviguate renvoie normalement true mais renverra false en cas d’erreur.

Les variables de contexte pour la navigation sont expliquées dans l’article Naviguer entre les écrans.

Back

La fonction Back renvoie l’écran apparu en dernier.

Pour chaque appel Naviguate, l’application suit l’écran qui est apparu et la transition. Vous pouvez utiliser des appels Back successifs pour revenir complètement à l’écran qui est apparu lorsque l’utilisateur a démarré l’application.

Quand la fonction Back s’exécute, la transition inverse est utilisée par défaut. Par exemple, si un écran apparaît à travers la transition CoverRight, Back utiliser Découvrir (à gauche) pour revenir. Fate et None sont leurs propres inverses. Transmettez un argument facultatif à Back pour forcer une transition spécifique.

Back renvoie normalement true mais renvoie false si l’utilisateur n’a pas navigué vers un autre écran depuis le démarrage de l’application.

Syntaxe

Back( [ Transition ] )

  • Transition - Facultatif. Transition visuelle à utiliser entre l’écran actuel et l’écran précédent. Faites référence à la liste des valeurs valides pour cet argument telles que répertoriées précédemment dans cet article. Par défaut, la transition par laquelle un écran revient est l’inverse de la transition par laquelle il est apparu.

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

  • Screen : obligatoire. Écran à afficher.
  • Transition - Facultatif. Transition visuelle à utiliser entre l’écran actuel et l’écran suivant. Affichez la liste des valeurs valides pour cet argument telles que répertoriées précédemment dans cet article. La valeur par défaut est None.
  • UpdateContextRecord : facultatif. Enregistrement contenant le nom d’au moins une colonne et une valeur pour chaque colonne. Cet enregistrement met à jour les variables de contexte du nouvel écran comme si elles étaient transmises à la fonction UpdateContext.

Exemples

Formule Description Résultat
Navigate( Details ) Affiche l’écran Détails sans transition ni changement de valeur pour une variable de contexte. L’écran Détails apparaît rapidement.
Navigate( Details, ScreenTransition.Fade ) Affiche l’écran Détails avec une transition Fondu. Aucune valeur de variable de contexte n’est modifiée. L’écran actuel s’atténue pour afficher l’écran Détails.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Affiche l’écran Détails avec une transition Fondu et met à jour la valeur de la variable de contexte ID sur 12. L’écran actuel s’atténue pour afficher l’écran Détails ; la variable de contexte ID à cet écran est définie sur 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Affiche l’écran Détails avec une transition Fondu. Met à jour la valeur de l’identifiant de la variable de contexte en lui donnant pour valeur 12, puis met à jour la valeur de la variable de contexte Shade en lui donnant pour valeur Color.Red. L’écran actuel s’atténue pour afficher l’écran Détails. L’ID de la variable de contexte de l’écran Details est défini sur 12, et la variable de contexte Shade est définie sur Color.Red. Si vous définissez la propriété Fill d’un contrôle de l’écran Details sur Shade, ce contrôle s’affiche en rouge.
Back() Affiche l’écran précédent avec la transition de retour par défaut. Affiche l’écran précédent via la transition inverse de la transition par laquelle l’écran actuel est apparu.
Back( ScreenTransition.Cover ) Affiche l’écran précédent avec la transition Cover par défaut. Affiche l’écran précédent via la transition Cover de la transition, quelle que soit la transition par laquelle l’écran actuel est apparu.

Pas à pas

  1. Créer une application vide.

  2. Ajoutez-y un deuxième écran.

    L’application contient deux écrans vierges : Screen1 et Screen2.

  3. Définissez la propriété Fill de Screen2 sur la valeur Gray.

  4. Sur Screen2, ajoutez une bouton et définissez sa propriété OnSelect sur cette formule :

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Cliquez sur le bouton tout en maintenant la touche Alt enfoncée.

    Screen1 apparaît avec un fond blanc à travers une transition qui recouvre vers la gauche.

  6. Sur Screen2, ajoutez une bouton et définissez sa propriété OnSelect sur cette formule :

    Back()
    
  7. Cliquez sur le bouton tout en maintenant la touche Alt enfoncée.

    Le deuxième écran apparaît avec un fond gris à travers une transition qui se découvre vers la droite (l’inverse de Cover).

  8. Cliquez sur le bouton de chaque écran à plusieurs reprises pour rebondir d’avant en arrière.

Autre exemple

Voir aussi

Utilisation de variables de contexte

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).