2012-12-26 3 views
2

Je voudrais passer une chaîne entre les pages dans 7,5NavigationContext.QueryString.TryGetValue NullReferenceException dans WP7.5

J'ai lu quelques guides, mais, j'ai NullReferenceException.

Page.xml.cs:

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

Si je regarde le débogueur, je peux voir: "DetailTiers.xaml?selectedItem=C0000015"

Dans ma page, Page2.xms.cs:

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

     } 

Quelqu'un sait où est mon erreur?

Répondre

9

Vous ne devez pas appeler ce code du constructeur car le NavigationContext n'est pas encore initialisé. Utilisez l'événement OnNavigatedTo à la place:

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

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

Merci! C'est parfait :) –