2010-05-05 39 views
5

Taken từ Exercise 1: Creating Windows Phone Applications with Microsoft Visual Studio 2010 Express for Windows PhoneSự khác nhau giữa phương thức NavigationService.Navigate() và thuộc tính PhoneApplicationFrame.Source là gì?

Nhiệm vụ 3: Bước 9

// navigate 
this.NavigationService.Navigate(new Uri("/PuzzlePage.xaml", UriKind.Relative)); 

Lưu ý:
Lớp PhoneApplicationPage cung cấp phương pháp và tài sản để điều hướng đến các trang thông qua sở hữu NavigationService của nó. Bạn có thể gọi phương thức Điều hướng của NavigationService và chuyển URI cho trang dưới dạng tham số. Bạn cũng có thể sử dụng các phương thức GoBack và GoForward để điều hướng lùi hoặc tiến trong lịch sử điều hướng. Nút quay lại phần cứng cũng cung cấp điều hướng ngược trong ứng dụng. Trình xử lý sự kiện được hiển thị ở trên sử dụng NavigationService để truy cập trang PuzzlePage.xaml.

Nhiệm vụ 4: Bước 3

(RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source = 
    new Uri("/ErrorPage.xaml", UriKind.Relative); 

Lưu ý:
...
Bất cứ khi nào bạn thiết lập thuộc tính Source đến một giá trị khác với nội dung hiển thị, khung điều hướng tới nội dung mới.
...

Sự khác biệt và tương đồng của cả hai kỹ thuật là gì?

Trả lời

6

Về cơ bản, cả hai đều làm tương tự.

NavigationService.Navigate là dịch vụ điều hướng Silverlight gốc để cho phép điều hướng không đồng bộ từ tệp xaml này sang tệp khác (loại bỏ nhu cầu tải liên kết người dùng) - có tổng quan nhỏ tuyệt vời here.

Sự khác biệt là NavigationService có khả năng quay trở lại và chuyển tiếp theo kiểu trình duyệt-esque. Đặt thuộc tính Source của số PhoneApplicationFrame thì không.

Vẫn còn những ngày đầu và có thể quá sớm để thực hiện dự đoán có giáo dục về việc bạn nên sử dụng điều gì.

NavigationService có lợi thế là lớp gốc Silverlight, tuy nhiên PhoneApplicationFrame.Source dành riêng cho WP.

+1

PhoneApplicationFrame.Source được kế thừa từ Khung và do đó không dành riêng cho Windows Phone. Tôi không thể kiểm tra nó ngay bây giờ, nhưng tôi nghĩ rằng bạn có thể điều hướng thông qua ngăn xếp trang ngay cả khi sử dụng thuộc tính Nguồn. Một khác biệt giữa phương pháp điều hướng và thuộc tính Nguồn là bạn không thể gọi Điều hướng trên trang chưa được tải, trong khi bạn có thể đặt thuộc tính Nguồn bất cứ khi nào bạn muốn. –

+0

"bạn không thể gọi Điều hướng trên trang chưa được tải"? Điều này có nghĩa là tôi không thể điều hướng đến một trang chưa bao giờ được điều hướng đến trước đây không? Rất bối rối. –

Các vấn đề liên quan