2012-05-10 26 views
10

Trong một hàm Bấm Tôi sử dụngNullReferenceException khi gọi NavigationContext

NavigationService.Navigate(new Uri("/MainPage.xaml?day=" + this.week.SelectedIndex, UriKind.Relative)); 

để điều hướng đến MainPage.xaml với một giá trị mà chỉ ra Panorama.DefaultItem, và trong MainPage.xaml.cs tôi viết như

if (this.NavigationContext.QueryString.ContainsKey("day")) 
{ 
    schedule.DefaultItem = NavigationContext.QueryString["day"]; 
} 

nhưng một NullReferenceException đi ra trong

this.NavigationContext.QueryString.ContainsKey("day") 

và tôi không biết nơi thứ e sai là, tôi sẽ đánh giá cao nếu ai đó có thể giúp tôi giải quyết vấn đề này ...

+0

Bạn có khả năng gỡ lỗi nào không? Nếu vậy, in ra những gì QueryString chứa, để kiểm tra xem bạn đang nhận được những gì bạn nghĩ rằng bạn nên nhận được. – moowiz2020

+0

có thể trùng lặp của [Ngoại lệ NullReferenceException trong .NET là gì?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net) – dtb

+0

Là NavigationContext hoặc QueryString null? – dowhilefor

Trả lời

20

Tôi đặt cược bạn đang truy cập NavigationContext trong hàm tạo. Khuôn khổ đã không điền mà tại thời điểm đó. Kiểm tra nó trong OnNavigatedTo hoặc bất kỳ thời gian sau và bạn sẽ được sử dụng tốt.

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