Συναρτήσεις Back και Navigate

Αλλάζει την οθόνη που εμφανίζεται.

Επισκόπηση

Οι περισσότερες εφαρμογές περιέχουν πολλές οθόνες. Χρησιμοποιήστε τις συναρτήσεις Back και Navigate για να αλλάξετε την οθόνη που εμφανίζεται. Για παράδειγμα, ορίστε την ιδιότητα OnSelect ενός κουμπιού σε έναν τύπο που περιλαμβάνει μια συνάρτηση Navigate, εάν θέλετε να εμφανίζεται διαφορετική οθόνη όταν ένας χρήστης επιλέγει το συγκεκριμένο κουμπί. Σε αυτόν τον τύπο, μπορείτε να καθορίσετε μια οπτική μετάβαση, όπως Fade, για να ελέγξετε πώς μια οθόνη αλλάζει σε μια άλλη.

Οι συναρτήσεις Back και Navigate αλλάζουν μόνο την οθόνη που εμφανίζεται. Οι οθόνες που δεν εμφανίζονται τη συγκεκριμένη στιγμή θα συνεχίσουν να λειτουργούν στο παρασκήνιο. Μπορείτε να δημιουργήσετε τύπους που αναφέρονται σε ιδιότητες των στοιχείων ελέγχου σε άλλες οθόνες. Για παράδειγμα, ένας χρήστης μπορεί να αλλάξτε την τιμή ενός ρυθμιστικού σε μία οθόνη, να μεταβεί σε διαφορετική οθόνη που χρησιμοποιεί αυτή την τιμή σε έναν τύπο και να καθορίσει πώς επηρεάζει αυτό που συμβαίνει στην νέα οθόνη. Ο χρήστης, στη συνέχεια, μπορεί να επιστρέψει στην αρχική οθόνη και να επιβεβαιώσει ότι το ρυθμιστικό έχει κρατήσει την τιμή του.

Οι μεταβλητές περιβάλλοντος διατηρούνται επίσης όταν ένας χρήστης κινείται μεταξύ των οθονών. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Navigate για να ορίσετε μία ή περισσότερες μεταβλητές περιβάλλοντος για την οθόνη που θα εμφανίζει τον τύπο, που είναι ο μόνος τρόπος για να ορίσετε μια μεταβλητή περιβάλλοντος έξω από την οθόνη. Μπορείτε να χρησιμοποιήσετε αυτή την προσέγγιση για να μεταβιβάσετε παραμέτρους σε μια οθόνη. Εάν έχετε χρησιμοποιήσει κάποιο άλλο εργαλείο προγραμματισμού, αυτή η προσέγγιση είναι παρόμοια με τη μεταβίβαση παραμέτρων σε διαδικασίες.

Χρησιμοποιήστε την ιδιότητα StartScreen του αντικειμένου της Εφαρμογής για να ελέγξετε την πρώτη οθόνη που θα εμφανιστεί.

Μπορείτε να χρησιμοποιήσετε οποιαδήποτε συνάρτηση μόνο μέσα σε έναν τύπο συμπεριφοράς.

Ισχύει σε: Εφαρμογές καμβά Εφαρμογές βάσει μοντέλου

Στο πρώτο όρισμα, καθορίστε το όνομα της οθόνης που θα εμφανίσετε.

Στο δεύτερο όρισμα, καθορίστε πώς αλλάζει η παλιά στη νέα οθόνη:

Όρισμα μετάβασης Περιγραφή Επίδειξη
ScreenTransition.Cover Η νέα οθόνη εμφανίζεται σε προβολή, μετακινούμενη από τα δεξιά προς τα αριστερά, για να καλύψει την τρέχουσα οθόνη. κινούμενα σχέδια κάλυψης μετάβασης οθόνης.
ScreenTransition.CoverRight Η νέα οθόνη εμφανίζεται σε προβολή, μετακινούμενη από τα αριστερά προς τα δεξιά, για να καλύψει την τρέχουσα οθόνη. δεξιά κινούμενα σχέδια κάλυψης μετάβασης οθόνης.
ScreenTransition.Fade Η τρέχουσα οθόνη εξαφανίζεται σταδιακά και αποκαλύπτει τη νέα οθόνη. κινούμενα σχέδια σβησίματος μετάβασης οθόνης.
ScreenTransition.None (προεπιλογή) Η νέα οθόνη αντικαθιστά γρήγορα την τρέχουσα οθόνη. καθόλου κινούμενα σχέδια μετάβασης οθόνης.
ScreenTransition.UnCover Η τρέχουσα οθόνη εξαφανίζεται από την προβολή, μετακινούμενη από τα δεξιά προς τα αριστερά, για να αποκαλύψει τη νέα οθόνη. κινούμενα σχέδια αποκάλυψης μετάβασης οθόνης.
ScreenTransition.UnCoverRight Η τρέχουσα οθόνη εξαφανίζεται από την προβολή, μετακινούμενη από τα αριστερά προς τα δεξιά, για να αποκαλύψει τη νέα οθόνη. δεξιά κινούμενα σχέδια αποκάλυψης μετάβασης οθόνης.

Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Navigate για να δημιουργήσετε ή να ενημερώσετε τις μεταβλητές περιβάλλοντος της νέας οθόνης. Ως ένα προαιρετικό τρίτο όρισμα, διαβιβάστε μια καρτέλα που περιέχει το όνομα της μεταβλητής περιβάλλοντος ως όνομα στήλης και τη νέα τιμή για τη μεταβλητή περιβάλλοντος. Αυτή η καρτέλα είναι η ίδια με την καρτέλα που χρησιμοποιείτε με τη συνάρτηση UpdateContext.

Ορίστε την ιδιότητα OnHidden της παλιάς οθόνης, την ιδιότητα OnVisible της νέας οθόνης ή και τις δύο για να κάνετε πρόσθετες αλλαγές κατά τη διάρκεια της μετάβασης. Η ιδιότητα App.ActiveScreen θα ενημερωθεί, ώστε να αντικατοπτρίζει την αλλαγή.

Το Navigate κανονικά επιστρέφει αληθής αλλά θα επιστρέφει ψευδής εάν παρουσιαστεί σφάλμα.

Οι μεταβλητές περιβάλλοντος για περιήγηση εξηγούνται στο άρθρο Περιήγηση μεταξύ οθονών.

Προηγούμενο

Ισχύει σε: Εφαρμογές καμβά

Η συνάρτηση Back επιστρέφει στην οθόνη που εμφανιζόταν πιο πρόσφατα.

Για κάθε κλήση Navigate, η εφαρμογή παρακολουθεί την οθόνη που εμφανίστηκε και τη μετάβαση. Μπορείτε να χρησιμοποιήσετε διαδοχικές κλήσης Back για επιστροφή πλήρως στην οθόνη που εμφανίστηκε όταν ο χρήστης ξεκίνησε την εφαρμογή.

Όταν η εκτελείται η συνάρτηση Back, η αντίστροφη μετάβαση χρησιμοποιείται από προεπιλογή. Για παράδειγμα, εάν μια οθόνη εμφανιστεί μέσω της μετάβασης CoverRight, η συνάρτηση Back χρησιμοποιεί την UnCover (που είναι προς τα αριστερά) για επιστροφή. Οι συναρτήσεις Fade και None είναι τα δικά τους αντίστροφα. Διαβιβάστε ένα προαιρετικό όρισμα στο Back για να επιβάλετε μια συγκεκριμένη μετάβαση.

Η συνάρτηση Back κανονικά επιστρέφει αληθής, αλλά επιστρέφει ψευδής εάν ο χρήστης δεν έχει μεταφερθεί σε άλλη οθόνη από την έναρξη της εφαρμογής.

Σύνταξη

Back( [ Transition ] )

  • Transition - Προαιρετικό. Η οπτική μετάβαση που χρησιμοποιείται μεταξύ της τρέχουσας οθόνης και της προηγούμενης οθόνης. Ανατρέξτε στη λίστα των έγκυρων τιμών για αυτό το όρισμα παραπάνω σε αυτό το άρθρο. Από προεπιλογή, η μετάβαση μέσω της οποίας επιστρέφει μια οθόνη είναι το αντίστροφο της μετάβασης μέσω της οποίας εμφανίζεται.

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

  • Screen - Υποχρεωτικό. Η οθόνη προς εμφάνιση. Στη θέση της οθόνης, μπορείτε επίσης να χρησιμοποιήσετε ένα στοιχείο ελέγχου που βρίσκεται στην οθόνη στο οποίο θέλετε να μεταβείτε.
  • Transition - Προαιρετικό. Η οπτική μετάβαση που χρησιμοποιείται μεταξύ της τρέχουσας οθόνης και της επόμενης οθόνης. Δείτε τη λίστα των έγκυρων τιμών για αυτό το όρισμα παραπάνω σε αυτό το άρθρο. Η προεπιλεγμένη τιμή είναι Κανένα.
  • UpdateContextRecord - Προαιρετικό. Μια καρτέλα που περιέχει το όνομα τουλάχιστον μίας στήλης και μια τιμή για κάθε στήλη. Αυτή η καρτέλα ενημερώνει τις μεταβλητές περιβάλλοντος της νέας οθόνης σαν να έχει διαβιβαστεί στη συνάρτηση UpdateContext.

Παραδείγματα

Τύπος Περιγραφή Αποτέλεσμα
Περιήγηση(Λεπτομέρειες ) Εμφανίζει την οθόνη Details με καμία εναλλαγή ή αλλαγή στην τιμή για μια μεταβλητή περιβάλλοντος. Η οθόνη Details εμφανίζεται γρήγορα.
Navigate( Details; ScreenTransition.Fade ) Εμφανίζει την οθόνη Details με μια μετάβαση Fade. Δεν αλλάζει καμία τιμή μεταβλητής περιβάλλοντος. Η τρέχουσα οθόνη σβήνει σταδιακά και εμφανίζεται η οθόνη Details.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Εμφανίζει την οθόνη Details με τη μετάβαση Fade και ενημερώνει την τιμή της μεταβλητής περιβάλλοντος ID σε 12. Η τρέχουσα οθόνη σβήνει σταδιακά και εμφανίζει την οθόνη Details και η μεταβλητή περιβάλλοντος ID σε αυτήν την οθόνη ορίζεται σε 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Εμφανίζει την οθόνη Details με μια μετάβαση Fade. Ενημερώνει την τιμή της μεταβλητής περιβάλλοντος ID σε 12 και ενημερώνει την τιμή της μεταβλητής περιβάλλοντος Shade σε Color.Red. Η τρέχουσα οθόνη σβήνει σταδιακά και εμφανίζεται η οθόνη Details. Η μεταβλητή περιβάλλοντος ID στην οθόνη Details έχει οριστεί σε 12 και η μεταβλητή περιβάλλοντος Shade έχει οριστεί σε Color.Red. Εάν έχετε ορίσει την ιδιότητα Fill ενός στοιχείου ελέγχου στην οθόνη Details σε Shade, αυτό το στοιχείο ελέγχου θα εμφανίζεται κόκκινο.
Back() Εμφανίζει την προηγούμενη οθόνη με την προεπιλεγμένη μετάβαση επιστροφής. Εμφανίζει την προηγούμενη οθόνη μέσω της αντίστροφης μετάβασης της μετάβασης μέσω της οποίας εμφανίζεται η τρέχουσα οθόνη.
Back( ScreenTransition.Cover ) Εμφανίζει την προηγούμενη οθόνη με τη μετάβαση Cover. Εμφανίζει την προηγούμενη οθόνη μέσω της μετάβασης Cover, ανεξαρτήτως της μετάβασης μέσω της οποίας εμφανίζεται η τρέχουσα οθόνη.

Βήμα προς βήμα

  1. Δημιουργία κενής εφαρμογής.

  2. Προσθέστε μια δεύτερη οθόνη.

    Η εφαρμογή περιέχει δύο κενές οθόνες: Screen1 και Screen2.

  3. Ορίστε την ιδιότητα Fill της Screen2 στην τιμή Gray.

  4. Στην Screen2, προσθέστε ένα κουμπί και ορίσετε την ιδιότητα OnSelect σε αυτόν τον τύπο:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Ενώ κρατάτε πατημένο το πλήκτρο Alt, επιλέξτε το κουμπί.

    Το Screen1 εμφανίζεται με λευκό φόντο μέσω μιας μετάβασης η οποία καλύπτει προς τα αριστερά.

  6. Στην Screen1, προσθέστε ένα κουμπί και ορίσετε την ιδιότητα OnSelect σε αυτόν τον τύπο:

    Back()
    
  7. Ενώ κρατάτε πατημένο το πλήκτρο Alt, επιλέξτε το κουμπί.

    Η δεύτερη οθόνη εμφανίζεται με ένα γκρίζο φόντο μέσω μιας μετάβασης που αποκαλύπτει προς τα δεξιά (το αντίστροφο του Cover).

  8. Επιλέξτε το κουμπί σε κάθε οθόνη επανειλημμένα για να αναπηδάτε εμπρός και πίσω.

Δείτε επίσης

Χρήση μεταβλητών περιβάλλοντος