• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[C#] Điều hướng trang trong Windows Phone 8

Lập trình cho Windows Phone

Điều hành viên: tummosoft

Hình đại diện của người dùng
HaiVB6
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 375
Ngày tham gia: T.Hai 03/02/2014 10:23 pm
Đến từ: [Gia Đông] - [Thuận Thành] - [Bắc Ninh]
Has thanked: 5 time
Been thanked: 14 time
Liên hệ:

[C#] Điều hướng trang trong Windows Phone 8

Gửi bàigửi bởi HaiVB6 » T.Bảy 06/09/2014 9:42 pm

Hình ảnh
Một trong những thao tác mà chúng ta thường hay thực hiện trong các ứng dụng đó là di chuyển từ trang này sang trang khác. Trong Windows Phone 8 thì việc điều hướng trang (Page Navigation) được thực hiện bởi một dịch vụ riêng biệt. Trong bài viết này, tôi sẽ giới thiệu về cách triển khai việc điều hướng trang cơ bản trong một ứng dụng WP8.

Điều hướng cơ bản
Để minh họa cho việc điều hướng trang, chúng ta sẽ tạo một ứng dụng mới với hai trang cơ bản, sau đó sẽ triển khai việc điều hướng qua lại giữa hai trang này.

1. Trước tiên, hãy khởi động Visual Studio và tạo một project mới bằng cách vào File -> New project
Hình ảnh
2. Tiếp đó, bạn chuột phải vào project vừa tạo chọn Add -> New item
Hình ảnh
3. Chọn phần tạo một trang mới và đặt tên cho nó, ở đây tôi đặt là SecondPage, và nhấn Ok
Trong MainPage.xaml, bạn kéo thả một nút (Button) vào từ thanh công cụ (ToolBox) như hình dưới đây:
Hình ảnh
4. Chúng ta tiến hành xử lý sự kiện Click cho nút vừa tạo để nó điều hướng đến trang SecondPage.xaml.
Hình ảnh
Bây giờ bạn chạy project và bấm vào nút vừa tạo để hưởng thành quả đầu tiên nhé.

5. Tiếp theo là điều hướng quay trở lại, tất nhiên rồi! Sau khi bấm nút và được chuyển sang SecondPage, bạn có thể bấm nút Back của điện thoại để quay lại trang trước, đây là cài đặt mặc định trên WP8. Nhưng nếu không muốn, bạn có thể mở trang SecondPage.xaml, tạo một nút để quay lại MainPage .xaml như hình dưới đây:
Hình ảnh
Trong phần xử lý sự kiện Click của nút trên, bạn viết đoạn mã như sau:
Hình ảnh
Như vậy là bạn đã có một nút tương tự nút Hình ảnh của điện thoại rồi đấy!



Hình đại diện của người dùng
HaiVB6
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 375
Ngày tham gia: T.Hai 03/02/2014 10:23 pm
Đến từ: [Gia Đông] - [Thuận Thành] - [Bắc Ninh]
Has thanked: 5 time
Been thanked: 14 time
Liên hệ:

Mở rộng thêm một chút

Gửi bàigửi bởi HaiVB6 » T.Bảy 06/09/2014 9:52 pm

Trong các ứng dụng thông thường, khi chúng ta điều hướng từ trang này sang trang khác thì chúng ta thường truyền dữ liệu theo cùng, cũng giống như khi các bạn lướt web vậy. Nói cách khác là có sự trao đổi dữ liệu giữa các trang. Để minh họa cho điều này, chúng ta sẽ mở rộng thêm ứng dụng trên một chút bằng cách truyền một thông điệp từ MainPage.xaml sang trang SecondPage.xaml.

1. Đầu tiên, bạn mở lại trang MainPage.xaml của project vừa tạo và tạo thêm một Textbox, một Button như hình dưới đây:
Hình ảnh
Ở khung Properties của Textbox, bạn đặt tên cho nó, ở đây tôi đặt là txtBox1.
Hình ảnh
Trong phần xử lí sự kiện của nút Go ở trên, bạn viết đoạn mã như sau:
Hình ảnh
Bạn để ý rằng chúng ta đang truyền thông điệp sang trang SecondPage.xaml bằng cách thêm vào một QueryString như khi các bạn làm việc với web vậy. QueryString được tạo ra bằng các cặp name-value (tên-giá trị) được thêm vào sau dấu “?”, trong trường hợp của chúng ta thì chỉ có một cặp name-value đó là msg=txtBox1.Text
2. Tiếp theo, bạn chuyển đến SecondPage.xaml, tạo một TextBlock và đặt tên cho TextBlock này, ở đây tôi đặt là TextBlock1. Bây giờ, trong trang SecondPage.xaml.cs, bạn viết đoạn mã như sau:
Hình ảnh
Chúng ta đã lấy thông điệp nhận được bằng cách sử dụng đối tượng NavigationContext, sau đó hiển thị nó lên thông qua TextBlock1.

Xong rồi chứ! Bây giờ bạn chạy project và thử nhập chuỗi vào TextBox , sau đó bấm nút Go xem.
Hình ảnh Hình ảnh

Hình đại diện của người dùng
deptraithongminh
Thành viên tích cực
Thành viên tích cực
Bài viết: 143
Ngày tham gia: T.Ba 02/07/2013 4:58 pm
Đến từ: TPHCM
Has thanked: 17 time
Been thanked: 1 time

Re: [C#] Điều hướng trang trong Windows Phone 8

Gửi bàigửi bởi deptraithongminh » T.Tư 17/12/2014 5:51 pm

@HaiVB6: giờ 2 cái cần truyền thì sao?
vd: từ page1 cần truyền 2 giá trị là "abc" và "bcd" sang page2

Hình đại diện của người dùng
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Bài viết: 1259
Ngày tham gia: T.Năm 03/06/2010 9:23 pm
Đến từ: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 time
Been thanked: 137 time
Liên hệ:

Re: [C#] Điều hướng trang trong Windows Phone 8

Gửi bàigửi bởi VuVanHoanh » T.Hai 05/01/2015 10:30 pm

mình ko biết về wp nhưng như bài trên thì có cách như:
1. bạn quy định một ký tự phân cách dữ liệu và truyền 2 giá trị thông qua ký tự phân cách đó. vd truyền thành msg=abc,bcd và sang page thứ 2 lọc ngược lại qua ký tự phân cách dữ liệu là "," thành abc và bcd
2. bạn tạo thêm một tham số vào câu truyền dữ liệu dạng GET nữa. vd: ?msg=abc&val=bcd
sau đó sang page thứ 2 bạn dùng trygetvalue như mẫu trên bài kia để lấy giá trị từ 2 tham số truyền đi là msg và val.
mình chưa tìm hiểu về wp coding nên ko biết, nhưng nếu bạn nói là giống web thì đấy là cách của mình.
Since 2008...
One love! :x

tungamg
Bài viết: 1
Ngày tham gia: T.Tư 07/01/2015 2:10 pm

Re: [C#] Điều hướng trang trong Windows Phone 8

Gửi bàigửi bởi tungamg » T.Tư 07/01/2015 2:13 pm

ôi, cái Metro app của thăng wp8 khiến mình cảm thấy khó chịu nhất. ~X( ve xe tet


Quay về “Windows Phone”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách