2012-12-26 62 views
2

我想在7.5NavigationContext.QueryString.TryGetValue的NullReferenceException在WP7.5

我看了一些導遊頁面之間傳遞一個字符串,但是,我有一個NullReferenceException

Page.xml.cs:

var item = ListBoxTiers.SelectedItem as CTiers; 
NavigationService.Navigate(new Uri("/DetailTiers.xaml?selectedItem=" + item.m_strCode, UriKind.Relative)); 

如果我看的調試器,我可以看到:"DetailTiers.xaml?selectedItem=C0000015"

在我的網頁,Page2.xms.cs:

public Page2() 
    { 
     InitializeComponent(); 
     string strCodeTiers = string.Empty; 
     if (NavigationContext.QueryString.TryGetValue("selectedItem",out strCodeTiers)) // Exception here 
     { 

     } 

任何人都知道我的錯誤在哪裏?

回答

9

您不應該從構造函數調用此代碼,因爲NavigationContext尚未初始化。使用OnNavigatedTo事件代替:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    string strCodeTiers = string.Empty; 

    if (NavigationContext.QueryString.TryGetValue("selectedItem",out strCodeTiers)) 
    { 
     // Whatever 
    } 
} 
+0

謝謝!這是完美的 :) –