Funkcje Back i Navigate
Te funkcje umożliwiają zmianę wyświetlanego ekranu.
Omówienie
Większość aplikacji zawiera wiele ekranów. Użyj funkcji Back i Navigate, aby zmienić wyświetlany ekran. Na przykład ustaw dla właściwości OnSelect przycisku formułę, która zawiera funkcję Navigate, aby wyświetlić inny ekran po wybraniu przez użytkownika tego przycisku. W tej formule można określić przejście wizualne, takie jak przenikanie, aby kontrolować sposób zmiany ekranu.
Funkcje Back i Navigate zmieniają tylko wyświetlany ekran. Ekrany, które nie są aktualnie wyświetlane, będą w dalszym ciągu działać w tle. Można utworzyć formuły, które przywołują właściwości kontrolek na innych ekranach. Na przykład użytkownik może zmienić wartość suwaka na jednym ekranie, przejść do innego ekranu, który używa tej wartości w formule, i ocenić wpływ zmiany na nowym ekranie. Użytkownik może następnie wrócić do początkowego ekranu i potwierdzić, że wartość suwaka została zachowana.
Zmienne kontekstowe są także zachowywane podczas przechodzenia między ekranami. Możesz użyć funkcji Navigate do ustawienia jednej lub wielu zmiennych kontekstowych dla ekranu, który wyświetla formuła. Jest to jedyny sposób na ustawienie zmiennej kontekstowej spoza ekranu. Ta metoda umożliwia przekazanie parametrów do ekranu. Jest ona podobna do przekazywania parametrów do procedur stosowanego w innych narzędziach programistycznych.
Użyj obiektu Aplikacji właściwości StartScreen w celu kontrolowania pierwszego ekranu do wyświetlenia.
Obydwu funkcji można używać tylko wewnątrz formuły zachowania.
Nawiguj
Dotyczy: aplikacje kanwy
aplikacje oparte na modelu
Pierwszy argument określa nazwę ekranu do wyświetlenia.
Drugi argument określa sposób zmiany starego ekranu na nowy:
Argument przejścia | Opis | Pokaz |
---|---|---|
ScreenTransition.Cover | Nowy ekran pojawia się w widoku, od prawej do lewej, obejmując bieżący ekran. |
![]() |
ScreenTransition.CoverRight | Nowy ekran pojawia się w widoku, od lewej do prawej, obejmując bieżący ekran. |
![]() |
ScreenTransition.Fade | Obecny ekran zanika, odsłaniając nowy ekran. |
![]() |
ScreenTransition.None (wartość domyślna) | Nowy ekran jest szybko zastępowany bieżącym ekranem. |
![]() |
ScreenTransition.UnCover | Obecny ekran znika z widoku, od prawej do lewej, odkrywając nowy ekran. |
![]() |
ScreenTransition.UnCoverRight | Obecny ekran znika z widoku, od lewej do prawej, odkrywając nowy ekran. |
![]() |
Możesz użyć funkcji Navigate do utworzenia lub zaktualizowania zmiennych kontekstowych nowego ekranu. Jako opcjonalny trzeci argument przekaż rekord zawierający nazwę zmiennej kontekstowej jako nazwę kolumny i nową wartość dla zmiennej kontekstowej. Ten rekord jest taki sam jak rekord używany dla funkcji UpdateContext.
Ustaw właściwość OnHidden starego ekranu, właściwość OnVisible nowego ekranu lub obie te właściwości, aby wykonać dodatkowe zmiany podczas przejścia. Właściwość App.ActiveScreen zostanie zaktualizowana w celu odzwierciedlenia zmiany.
Funkcja Navigate zazwyczaj zwraca wartość true, ale zwróci wartość false, jeśli wystąpi błąd.
Zmienne kontekstu dotyczące nawigacji są wyjaśnione w artykule dotyczącym nawigowania między ekranami.
Powrót
Dotyczy: aplikacje kanwy
Funkcja Back powraca do ekranu, który był ostatnio wyświetlony.
W przypadku każdego wywołania Navigate, aplikacja śledzi ekran, który się pokazał oraz przejście. Można użyć odwołań do funkcji Wstecz, aby powrócić do ekranu, który pojawił się podczas uruchamiania aplikacji przez użytkownika.
Po uruchomieniu funkcji Back przejście odwrotne jest domyślnie używane. Jeśli na przykład ekran zostanie wyświetlony za pośrednictwem przejścia CoverRight, funkcja Wstecz używa UnCover (która znajduje się po lewej stronie), do wykonania powrotu. Przenikanie i Brak są odwrotnościami. W celu wymuszenia określonego przejścia należy przekazać opcjonalny argument na Wstecz.
Funkcja Wstecz zwraca zwykle wartość true, ale zwraca wartość false, jeśli użytkownik nie przeszedł do innego ekranu od czasu uruchomienia aplikacji.
Składnia
Back( [ Przejście ] )
- Przejście – opcjonalne. Przejście wizualne między bieżącym ekranem i poprzednim ekranem. Odnosi się do listy prawidłowych wartości tego argumentu we wcześniejszym artykule. Domyślnie przejście polegające na tym, że powrót ekranu jest odwrotną częścią przejścia.
Navigate( Ekran [, Przejście [, RekordAktualizacjiKontekstu ] ] )
- Ekran – wartość wymagana. Ekran do wyświetlenia. Zamiast ekranu można także użyć kontrolki, która znajduje się na ekranie, do którego chcesz przejść.
- Przejście – opcjonalne. Przejście wizualne między bieżącym ekranem i następnym ekranem. Wyświetla listę prawidłowych wartości tego argumentu we wcześniejszym artykule. Wartość domyślna to Brak.
- UpdateContextRecord – wartość opcjonalna. Rekord zawierający nazwę co najmniej jednej kolumny i wartość dla każdej kolumny. Ten rekord umożliwia zaktualizowanie zmiennych kontekstowych nowego ekranu, tak jakby zostały przekazane do funkcji UpdateContext.
Przykłady
Wzór | Opis | Wynik |
---|---|---|
Navigate( Szczegóły ) | Wyświetla ekran Szczegóły bez przejścia ani zmiany wartości zmiennej kontekstowej. | Ekran Szczegóły zostanie wyświetlony szybko. |
Navigate( Szczegóły, ScreenTransition.Fade ) | Wyświetla ekran Szczegóły z przejściem Przenikanie. Wartość żadnej zmiennej kontekstowej nie zostanie zmieniona. | Bieżący ekran zanika, stopniowo odkrywając ekran Szczegóły. |
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) | Wyświetla ekran Szczegóły z przejściem Przenikanie i aktualizuje zmienną kontekstową ID za pomocą wartości 12. | Bieżący ekran zanika, stopniowo odkrywając ekran Szczegóły, a dla zmiennej kontekstowej ID na tym ekranie jest ustawiana wartość 12. |
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) | Wyświetla ekran Szczegóły z przejściem Przenikanie. Aktualizuje zmienną kontekstową ID za pomocą wartości 12 i aktualizuje zmienną kontekstową Shade za pomocą wartości Color.Red. | Bieżący ekran zanika, stopniowo odkrywając ekran Szczegóły. Dla zmiennej kontekstowej ID na ekranie Szczegóły jest ustawiana wartość 12, a dla zmiennej kontekstowej Shade jest ustawiana wartość Color.Red. Jeśli ustawisz dla właściwości Fill kontrolki na ekranie Szczegóły wartość Shade, ta kontrolka będzie wyświetlana na czerwono. |
Back() | Powoduje wyświetlenie poprzedniego ekranu z domyślnym przejściem zwrotnym. | Powoduje wyświetlenie poprzedniego ekranu przez przejście odwrotne do przejścia, które użyte zostało do pokazania bieżącego ekranu. |
Back( ScreenTransition.Cover ) | Powoduje wyświetlenie poprzedniego ekranu z przejściem zwrotnym Cover. | Powoduje wyświetlenie poprzedniego ekranu przez przejście Cover, niezależnie od przejścia, które użyte zostało do pokazania bieżącego ekranu. |
Krok po kroku
Tworzenie pustej aplikacji.
Dodaj drugi ekran.
Aplikacja zawiera dwie puste ekrany: Screen1 i Screen2.
Ustawia właściwość Fill na Screen2 na wartość
Gray
.Na ekranie Screen2 dodaj przycisk i ustaw właściwość OnSelect na następującą formułę:
Navigate( Screen1, ScreenTransition.Cover )
Trzymając wciśnięty klawisz Alt, kliknij przycisk.
Screen1 jest wyświetlane na białym tle poprzez przejście, które przechodzi w lewo.
Na ekranie Screen1 dodaj przycisk i ustaw właściwość OnSelect na następującą formułę:
Back()
Trzymając wciśnięty klawisz Alt, kliknij przycisk.
Drugi ekran jest wyświetlany na szarym tle, poprzez przejście, które odkrywa się po prawej stronie (odwrotność Cover).
Aby odbijać wszystkie ekranu, należy wielokrotnie wybrać przycisk.