2

7.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
        {

        }

誰でも私のエラーがどこにあるか知っていますか?

4

1 に答える 1

9

NavigationContextはまだ初期化されていないため、コンストラクターからこのコードを呼び出さないでください。OnNavigatedTo代わりにイベントを使用します。

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

    if (NavigationContext.QueryString.TryGetValue("selectedItem",out strCodeTiers))
    {
         // Whatever
    }
}
于 2012-12-26T12:23:30.683 に答える