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 Back và Navigate để 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.
Quay lại và Điều hướng chỉ thay đổi màn hình được 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.
Các biến ngữ cảnh cũng được bảo toàn khi người dùng điều hướng 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.
Điều hướng
Á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.Bìa | 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. | |
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. | |
Chuyển đổi màn hình. Làm mờ | Màn hình hiện tại mờ dần để lộ màn hình mới. | |
ScreenTransition.None (Mặc định) | Màn hình mới nhanh chóng thay thế màn hình hiện tại. | |
Chuyển đổi màn hình.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. | |
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. |
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.
Navigate thường trả về 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. Fade và None là nghịch đảo của chính chúng. 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ể.
Quay lại thường trả về true nhưng trả về false nếu người dùng chưa điều hướng đến màn hình khác kể từ khi khởi động ứng dụng.
Cú pháp
Quay lại( [ Chuyển đổi ] )
- Chuyển tiếp - Tùy chọn. 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.
Điều hướng( Màn hình [, Chuyển đổi [, UpdateContextRecord ] ] )
- Màn hình - Bắt buộc. Màn hình sẽ hiển thị. Thay vì Màn hình, bạn cũng có thể sử dụng một nút điều khiển nằm trên màn hình mà bạn muốn điều hướng đến.
- Chuyển tiếp - Tùy chọn. 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.
- UpdateContextRecord - Tùy chọn. 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ả |
---|---|---|
Điều hướng( Chi tiết ) | 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. |
Điều hướng( Chi tiết, 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. |
Điều hướng(Chi tiết, 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. |
Điều hướng(Chi tiết, ScreenTransition.Fade, { ID: 12, Bóng râm: 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 đỏ. |
Mặt sau() | 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. |
Quay lại( 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
Tạo ứng dụng trống.
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: Screen1 và Screen2.
Đặt thuộc tính Fill của Screen2 thành
Gray
.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 )
Hãy chọn nút này đồng thời nhấn giữ phím Alt.
Màn hình 1 xuất hiện với nền trắng thông qua quá trình chuyển đổi sang bên trái.
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()
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).
Chọn nút trên mỗi màn hình nhiều lần để chuyển qua lại.