Συναρτήσεις Back και Navigate
Αλλάζει την οθόνη που εμφανίζεται.
Επισκόπηση
Οι περισσότερες εφαρμογές περιέχουν πολλές οθόνες. Χρησιμοποιήστε τις συναρτήσεις Back και Navigate για να αλλάξετε την οθόνη που εμφανίζεται. Για παράδειγμα, ορίστε την ιδιότητα OnSelect ενός κουμπιού σε έναν τύπο που περιλαμβάνει μια συνάρτηση Navigate, εάν θέλετε να εμφανίζεται διαφορετική οθόνη όταν ένας χρήστης επιλέγει το συγκεκριμένο κουμπί. Σε αυτόν τον τύπο, μπορείτε να καθορίσετε μια οπτική μετάβαση, όπως Fade, για να ελέγξετε πώς μια οθόνη αλλάζει σε μια άλλη.
Οι επιλογές Πίσω και Πλοήγηση αλλάζουν μόνο την οθόνη που εμφανίζεται. Οι οθόνες που δεν εμφανίζονται τη συγκεκριμένη στιγμή θα συνεχίσουν να λειτουργούν στο παρασκήνιο. Μπορείτε να δημιουργήσετε τύπους που αναφέρονται σε ιδιότητες των στοιχείων ελέγχου σε άλλες οθόνες. Για παράδειγμα, ένας χρήστης μπορεί να αλλάξτε την τιμή ενός ρυθμιστικού σε μία οθόνη, να μεταβεί σε διαφορετική οθόνη που χρησιμοποιεί αυτή την τιμή σε έναν τύπο και να καθορίσει πώς επηρεάζει αυτό που συμβαίνει στην νέα οθόνη. Ο χρήστης, στη συνέχεια, μπορεί να επιστρέψει στην αρχική οθόνη και να επιβεβαιώσει ότι το ρυθμιστικό έχει κρατήσει την τιμή του.
Οι μεταβλητές περιβάλλοντος διατηρούνται επίσης όταν ένας χρήστης περιηγείται μεταξύ οθονών. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Navigate για να ορίσετε μία ή περισσότερες μεταβλητές περιβάλλοντος για την οθόνη που θα εμφανίζει τον τύπο, που είναι ο μόνος τρόπος για να ορίσετε μια μεταβλητή περιβάλλοντος έξω από την οθόνη. Μπορείτε να χρησιμοποιήσετε αυτή την προσέγγιση για να μεταβιβάσετε παραμέτρους σε μια οθόνη. Εάν έχετε χρησιμοποιήσει κάποιο άλλο εργαλείο προγραμματισμού, αυτή η προσέγγιση είναι παρόμοια με τη μεταβίβαση παραμέτρων σε διαδικασίες.
Χρησιμοποιήστε την ιδιότητα StartScreen του αντικειμένου της Εφαρμογής για να ελέγξετε την πρώτη οθόνη που θα εμφανιστεί.
Μπορείτε να χρησιμοποιήσετε οποιαδήποτε συνάρτηση μόνο μέσα σε έναν τύπο συμπεριφοράς.
Περιήγηση
Ισχύει για: Εφαρμογές καμβά Εφαρμογές βάσει μοντέλου
Στο πρώτο όρισμα, καθορίστε το όνομα της οθόνης που θα εμφανίσετε.
Στο δεύτερο όρισμα, καθορίστε πώς αλλάζει η παλιά στη νέα οθόνη:
Όρισμα μετάβασης | Περιγραφή | Επίδειξη |
---|---|---|
ScreenTransition.Cover | Η νέα οθόνη εμφανίζεται σε προβολή, μετακινούμενη από τα δεξιά προς τα αριστερά, για να καλύψει την τρέχουσα οθόνη. | |
ScreenTransition.CoverRight | Η νέα οθόνη εμφανίζεται σε προβολή, μετακινούμενη από τα αριστερά προς τα δεξιά, για να καλύψει την τρέχουσα οθόνη. | |
ScreenTransition.Fade | Η τρέχουσα οθόνη εξαφανίζεται σταδιακά και αποκαλύπτει τη νέα οθόνη. | |
ScreenTransition.None (προεπιλογή) | Η νέα οθόνη αντικαθιστά γρήγορα την τρέχουσα οθόνη. | |
ScreenTransition.Αποκάλυψη | Η τρέχουσα οθόνη εξαφανίζεται από την προβολή, μετακινούμενη από τα δεξιά προς τα αριστερά, για να αποκαλύψει τη νέα οθόνη. | |
ScreenTransition.UnCoverRight | Η τρέχουσα οθόνη εξαφανίζεται από την προβολή, μετακινούμενη από τα αριστερά προς τα δεξιά, για να αποκαλύψει τη νέα οθόνη. |
Μπορείτε να χρησιμοποιήσετε τη συνάρτηση Navigate για να δημιουργήσετε ή να ενημερώσετε τις μεταβλητές περιβάλλοντος της νέας οθόνης. Ως ένα προαιρετικό τρίτο όρισμα, διαβιβάστε μια καρτέλα που περιέχει το όνομα της μεταβλητής περιβάλλοντος ως όνομα στήλης και τη νέα τιμή για τη μεταβλητή περιβάλλοντος. Αυτή η καρτέλα είναι η ίδια με την καρτέλα που χρησιμοποιείτε με τη συνάρτηση UpdateContext.
Ορίστε την ιδιότητα OnHidden της παλιάς οθόνης, την ιδιότητα OnVisible της νέας οθόνης ή και τις δύο για να κάνετε πρόσθετες αλλαγές κατά τη διάρκεια της μετάβασης. Η ιδιότητα App.ActiveScreen θα ενημερωθεί, ώστε να αντικατοπτρίζει την αλλαγή.
Η επιλογή Πλοήγηση επιστρέφει κανονικά true αλλά θα επιστρέψει false εάν παρουσιαστεί σφάλμα.
Οι μεταβλητές περιβάλλοντος για περιήγηση εξηγούνται στο άρθρο Περιήγηση μεταξύ οθονών.
Προηγούμενο
Ισχύει για: Εφαρμογές καμβά
Η συνάρτηση Back επιστρέφει στην οθόνη που εμφανιζόταν πιο πρόσφατα.
Για κάθε κλήση Navigate, η εφαρμογή παρακολουθεί την οθόνη που εμφανίστηκε και τη μετάβαση. Μπορείτε να χρησιμοποιήσετε διαδοχικές κλήσης Back για επιστροφή πλήρως στην οθόνη που εμφανίστηκε όταν ο χρήστης ξεκίνησε την εφαρμογή.
Όταν η εκτελείται η συνάρτηση Back, η αντίστροφη μετάβαση χρησιμοποιείται από προεπιλογή. Για παράδειγμα, εάν μια οθόνη εμφανιστεί μέσω της μετάβασης CoverRight, η συνάρτηση Back χρησιμοποιεί την UnCover (που είναι προς τα αριστερά) για επιστροφή. Το Fade και το None είναι τα δικά τους αντίστροφα. Διαβιβάστε ένα προαιρετικό όρισμα στο Back για να επιβάλετε μια συγκεκριμένη μετάβαση.
Η επιλογή Back επιστρέφει κανονικά true , αλλά επιστρέφει false εάν ο χρήστης δεν έχει πλοηγηθεί σε άλλη οθόνη από την εκκίνηση της εφαρμογής.
Σύνταξη
Πίσω ( [ Μετάβαση ] )
- Μετάβαση - Προαιρετική. Η οπτική μετάβαση που χρησιμοποιείται μεταξύ της τρέχουσας οθόνης και της προηγούμενης οθόνης. Ανατρέξτε στη λίστα των έγκυρων τιμών για αυτό το όρισμα παραπάνω σε αυτό το άρθρο. Από προεπιλογή, η μετάβαση μέσω της οποίας επιστρέφει μια οθόνη είναι το αντίστροφο της μετάβασης μέσω της οποίας εμφανίζεται.
Πλοήγηση( Οθόνη [; Μετάβαση [; Ενημέρωση_πλαισίου] ] )
- Απαιτείται οθόνη . Η οθόνη προς εμφάνιση. Στη θέση της οθόνης, μπορείτε επίσης να χρησιμοποιήσετε ένα στοιχείο ελέγχου που βρίσκεται στην οθόνη στο οποίο θέλετε να μεταβείτε.
- Μετάβαση - Προαιρετική. Η οπτική μετάβαση που χρησιμοποιείται μεταξύ της τρέχουσας οθόνης και της επόμενης οθόνης. Δείτε τη λίστα των έγκυρων τιμών για αυτό το όρισμα παραπάνω σε αυτό το άρθρο. Η προεπιλεγμένη τιμή είναι Κανένα.
- UpdateContextRecord - Προαιρετικό. Μια καρτέλα που περιέχει το όνομα τουλάχιστον μίας στήλης και μια τιμή για κάθε στήλη. Αυτή η καρτέλα ενημερώνει τις μεταβλητές περιβάλλοντος της νέας οθόνης σαν να έχει διαβιβαστεί στη συνάρτηση UpdateContext.
Παραδείγματα
Τύπος | Περιγραφή | Αποτέλεσμα |
---|---|---|
Navigate( Λεπτομέρειες ) | Εμφανίζει την οθόνη Details με καμία εναλλαγή ή αλλαγή στην τιμή για μια μεταβλητή περιβάλλοντος. | Η οθόνη Details εμφανίζεται γρήγορα. |
Πλοήγηση ( Λεπτομέρειες, ScreenTransition.Fade ) | Εμφανίζει την οθόνη Details με μια μετάβαση Fade. Δεν αλλάζει καμία τιμή μεταβλητής περιβάλλοντος. | Η τρέχουσα οθόνη σβήνει σταδιακά και εμφανίζεται η οθόνη Details. |
Πλοήγηση ( Λεπτομέρειες, ScreenTransition.Fade, { ID: 12 } ) | Εμφανίζει την οθόνη Details με τη μετάβαση Fade και ενημερώνει την τιμή της μεταβλητής περιβάλλοντος ID σε 12. | Η τρέχουσα οθόνη σβήνει σταδιακά και εμφανίζει την οθόνη Details και η μεταβλητή περιβάλλοντος ID σε αυτήν την οθόνη ορίζεται σε 12. |
Πλοήγηση ( Λεπτομέρειες, ScreenTransition.Fade, { ID: 12, σκιά: Color.Red } ) | Εμφανίζει την οθόνη Details με μια μετάβαση Fade. Ενημερώνει την τιμή της μεταβλητής περιβάλλοντος ID σε 12 και ενημερώνει την τιμή της μεταβλητής περιβάλλοντος Shade σε Color.Red. | Η τρέχουσα οθόνη σβήνει σταδιακά και εμφανίζεται η οθόνη Details. Η μεταβλητή περιβάλλοντος ID στην οθόνη Details έχει οριστεί σε 12 και η μεταβλητή περιβάλλοντος Shade έχει οριστεί σε Color.Red. Εάν έχετε ορίσει την ιδιότητα Fill ενός στοιχείου ελέγχου στην οθόνη Details σε Shade, αυτό το στοιχείο ελέγχου θα εμφανίζεται κόκκινο. |
Πίσω() | Εμφανίζει την προηγούμενη οθόνη με την προεπιλεγμένη μετάβαση επιστροφής. | Εμφανίζει την προηγούμενη οθόνη μέσω της αντίστροφης μετάβασης της μετάβασης μέσω της οποίας εμφανίζεται η τρέχουσα οθόνη. |
Πίσω (ScreenTransition.Cover) | Εμφανίζει την προηγούμενη οθόνη με τη μετάβαση Cover. | Εμφανίζει την προηγούμενη οθόνη μέσω της μετάβασης Cover, ανεξαρτήτως της μετάβασης μέσω της οποίας εμφανίζεται η τρέχουσα οθόνη. |
Βήμα προς βήμα
Δημιουργία κενής εφαρμογής.
Προσθέστε μια δεύτερη οθόνη.
Η εφαρμογή περιέχει δύο κενές οθόνες: Screen1 και Screen2.
Ορίστε την ιδιότητα Fill της Screen2 στην τιμή
Gray
.Στην Screen2, προσθέστε ένα κουμπί και ορίσετε την ιδιότητα OnSelect σε αυτόν τον τύπο:
Navigate( Screen1, ScreenTransition.Cover )
Ενώ κρατάτε πατημένο το πλήκτρο Alt, επιλέξτε το κουμπί.
Η οθόνη 1 εμφανίζεται με λευκό φόντο μέσω μιας μετάβασης που καλύπτει προς τα αριστερά.
Στην Screen1, προσθέστε ένα κουμπί και ορίσετε την ιδιότητα OnSelect σε αυτόν τον τύπο:
Back()
Ενώ κρατάτε πατημένο το πλήκτρο Alt, επιλέξτε το κουμπί.
Η δεύτερη οθόνη εμφανίζεται με ένα γκρίζο φόντο μέσω μιας μετάβασης που αποκαλύπτει προς τα δεξιά (το αντίστροφο του Cover).
Επιλέξτε το κουμπί σε κάθε οθόνη επανειλημμένα για να αναπηδάτε εμπρός και πίσω.