Chức năng quay lại và điều hướng

Thay đổi màn hình sẽ hiển thị.

Tổng quan

Hầu hết các ứng dụng đều chứa nhiều màn hình. Sử dụng hàm BackNavigate để thay đổi màn hình sẽ hiển thị Ví dụ: đặt thuộc tính OnSelect của một nút thành công thức có chứa hàm Navigate nếu bạn muốn hiển thị một màn hình khác khi người dùng chọn nút đó. Trong công thức đó, bạn có thể chỉ định hình thức chuyển đổi trực quan, chẳng hạn như Fade, để kiểm soát cách chuyển từ màn hình này sang màn hình khác.

Hàm BackNavigate chỉ thay đổi màn hình sẽ hiển thị. Các màn hình hiện không hiển thị sẽ tiếp tục hoạt động trong nền. Bạn có thể xây dựng công thức đề cập đến thuộc tính của công cụ điều khiển trên các màn hình khác. Ví dụ: người dùng có thể thay đổi giá trị của thanh trượt trên màn hình này, chuyển đến một màn hình khác sử dụng giá trị đó trong công thức và xác định mức độ ảnh hưởng đến những gì xảy ra trong màn hình mới. Sau đó, người dùng có thể quay lại màn hình gốc và xác nhận xem thanh trượt có giữ nguyên giá trị hay không.

Biến bối cảnh cũng được duy trì khi người dùng chuyển qua lại giữa các màn hình. Bạn có thể dùng hàm Navigate để đặt một hoặc nhiều biến bối cảnh cho màn hình mà công thức sẽ hiển thị. Đây là cách duy nhất để đặt biến bối cảnh từ bên ngoài màn hình. Bạn có thể sử dụng phương pháp này để truyền thông số đến màn hình. Nếu bạn đã sử dụng một công cụ lập trình khác, phương pháp này tương tự như việc truyền thông số cho các quy trình khác.

Sử dụng thuộc tính StartScreen của đối tượng Ứng dụng để điều khiển màn hình đầu tiên được hiển thị.

Bạn chỉ có thể sử dụng một trong hai hàm này trong công thức hành vi.

Áp dụng cho: Ứng dụng canvas Ứng dụng dựa trên mô hình

Với đối số đầu tiên, hãy chỉ định tên của màn hình sẽ hiển thị.

Với đối số thứ hai, hãy chỉ định cách màn hình cũ chuyển sang màn hình mới:

Đối số chuyển đổi Mô tả Minh họa
ScreenTransition.Cover Màn hình mới trượt vào chế độ xem, di chuyển từ phải sang trái, để che màn hình hiện tại. hoạt ảnh chuyển tiếp che màn hình từ phải sang trái.
ScreenTransition.CoverRight Màn hình mới trượt vào chế độ xem, di chuyển từ trái sang phải, để che màn hình hiện tại. hoạt ảnh chuyển tiếp che màn hình từ trái sang phải.
ScreenTransition.Fade Màn hình hiện tại mờ dần để lộ màn hình mới. hoạt ảnh chuyển tiếp mờ dần.
ScreenTransition.None (Mặc định) Màn hình mới nhanh chóng thay thế màn hình hiện tại. hoạt ảnh chuyển tiếp thay thế.
ScreenTransition.UnCover Màn hình hiện tại trượt ra khỏi chế độ xem, di chuyển từ phải sang trái, để lộ màn hình mới. hoạt ảnh chuyển tiếp để lộ màn hình từ phải sang trái.
ScreenTransition.UnCoverRight Màn hình hiện tại trượt ra khỏi chế độ xem, di chuyển từ trái sang phải, để lộ màn hình mới. hoạt ảnh chuyển tiếp để lộ màn hình từ trái sang phải.

Bạn có thể dùng hàm Navigate để tạo hoặc cập nhật biến bối cảnh của màn hình mới. Với đối số thứ ba không bắt buộc, hãy chuyển bản ghi có chứa tên biến bối cảnh là tên cột và giá trị mới của biến bối cảnh. Bản ghi này giống với bản ghi mà bạn sử dụng với hàm UpdateContext.

Đặt thuộc tính OnHidden của màn hình cũ, thuộc tính OnVisible của màn hình mới hoặc cả hai để thực hiện các thay đổi bổ sung trong quá trình chuyển đổi. Thuộc tính App.ActiveScreen sẽ được cập nhật để phản ánh sự thay đổi.

Hàm Navigate thường trả về giá trị true nhưng sẽ trả về false nếu gặp lỗi.

Các biến bối cảnh để di chuyển được giải thích trong bài viết di chuyển giữa các màn hình.

Quay lại

Áp dụng cho: Ứng dụng canvas

Hàm Back sẽ chuyển về màn hình hiển thị gần đây nhất.

Đối với mỗi lệnh gọi hàm Navigate, ứng dụng sẽ theo dõi màn hình xuất hiện và quá trình chuyển đổi. Bạn có thể sử dụng liên tiếp các lệnh gọi hàm Back để trả lại màn hình xuất hiện khi người dùng khởi động ứng dụng.

Khi hàm Back chạy, quá trình chuyển đổi nghịch đảo được sử dụng theo mặc định. Ví dụ: nếu một màn hình xuất hiện thông qua đối số chuyển đổi CoverRight, hàm Back sẽ sử dụng đối số UnCover (chuyển sang trái) để chuyển lại màn hình trước. FadeNone là hai đối số trái ngược nhau. Dùng đối số không bắt buộc cho hàm Back để buộc thực hiện một quá trình chuyển đổi cụ thể.

Hàm Back thường trả về true nhưng sẽ trả về false nếu người dùng không chuyển đến màn hình khác kể từ khi khởi động ứng dụng.

Cú pháp

Back( [ Transition ] )

  • Transition - Không bắt buộc. Chuyển đổi trực quan để sử dụng giữa màn hình hiện tại và màn hình trước đó. Tham khảo danh sách các giá trị hợp lệ của đối số này ở phần đầu bài viết này. Theo mặc định, quá trình chuyển đổi để trở về màn hình trước sẽ ngược lại với quá trình chuyển đổi để hiển thị màn hình hiện tại.

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

  • Screen - Bắt buộc. Màn hình sẽ hiển thị. Thay cho Màn hình, bạn cũng có thể sử dụng tùy chọn điều khiển trên màn hình mà bạn muốn điều hướng đến.
  • Transition - Không bắt buộc. Chuyển đổi trực quan để sử dụng giữa màn hình hiện tại và màn hình tiếp theo. Xem danh sách các giá trị hợp lệ của đối số này ở phần đầu bài viết này. Giá trị mặc định là None.
  • Cập nhật bản ghi bối cảnh - Không bắt buộc. Một bản ghi chứa tên của ít nhất một cột và một giá trị của mỗi cột. Bản ghi này cập nhật các biến bối cảnh của màn hình mới như thể được chuyển đến hàm UpdateContext.

Ví dụ

Công thức Mô tả Kết quả
Navigate( Details ) Hiển thị màn hình Chi tiết không chuyển đổi hoặc thay đổi giá trị của biến bối cảnh. Màn hình Details xuất hiện nhanh chóng.
Navigate( Details, ScreenTransition.Fade ) Hiển thị màn hình Details với chuyển đổi Fade. Không thay đổi giá trị của biến bối cảnh. Màn hình hiện tại mờ dần để hiển thị màn hình Details.
Navigate( Details, ScreenTransition.Fade, { ID: 12 } ) Hiển thị màn hình Details với chuyển đổi Fade và cập nhật giá trị của biến bối cảnh ID thành 12. Màn hình hiện tại mờ dần để hiển thị màn hình Details và biến bối cảnh ID trên màn hình đó được đặt thành 12.
Navigate( Details, ScreenTransition.Fade, { ID: 12 , Shade: Color.Red } ) Hiển thị màn hình Details với chuyển đổi Fade. Cập nhật giá trị của ID của biến bối cảnh thành 12 và cập nhật giá trị của biến bối cảnh Shade thành Color.Red. Màn hình hiện tại mờ dần để hiển thị màn hình Details. Biến bối cảnh ID trên màn hình Details được đặt thành 12, còn biến bối cảnh Shade được đặt thành Color.Red. Nếu bạn đặt thuộc tính Fill của một công cụ điều khiển trên màn hình Details thành Shade, tùy chọn đó sẽ có màu đỏ.
Back() Hiển thị màn hình trước với hình thức chuyển đổi trở lại mặc định. Hiển thị màn hình trước thông qua quá trình chuyển đổi ngược lại với quá trình chuyển đổi để hiển thị màn hình hiện tại.
Back( ScreenTransition.Cover ) Hiển thị màn hình trước thông qua hình thức chuyển đổi Cover. Hiển thị màn hình trước thông qua quá trình chuyển đổi Cover, bất kể hình thức chuyển đổi để hiển thị màn hình hiện tại là gì.

Hướng dẫn chi tiết

  1. Tạo ứng dụng trống.

  2. Thêm màn hình thứ hai vào ứng dụng này.

    Ứng dụng này chứa hai màn hình trống: Screen1Screen2.

  3. Đặt thuộc tính Fill của Screen2 thành Gray.

  4. Trên Screen2, hãy thêm một nút rồi đặt thuộc tính OnSelect của nút này thành công thức sau:

    Navigate( Screen1, ScreenTransition.Cover )
    
  5. Hãy chọn nút này đồng thời nhấn giữ phím Alt.

    Screen1 xuất hiện với nền trắng thông qua quá trình chuyển đổi che màn hình hiện tại từ phải sang trái.

  6. Trên Screen1, hãy thêm một nút rồi đặt thuộc tính OnSelect của nút này thành công thức sau:

    Back()
    
  7. Hãy chọn nút này đồng thời nhấn giữ phím Alt.

    Màn hình thứ hai xuất hiện với nền xám thông qua quá trình chuyển đổi hiển thị từ trái sang phải (trái ngược với Cover).

  8. Chọn nút trên mỗi màn hình nhiều lần để chuyển qua lại.

Xem thêm

Sử dụng biến ngữ cảnh