2012-01-23 62 views
2

我有一個如下所示的列表框。Windows Phone 7導航傳遞參數

<ListBox x:Name="CouponListBox" ItemsSource="{Binding Item}" SelectionChanged="CouponListBox_SelectionChanged"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <StackPanel Orientation="Horizontal"> 
           <Image Source="{Binding MerchantImage}" Height="73" Width="73" VerticalAlignment="Top" Margin="0,10,8,0"/> 
           <StackPanel Width="130"> 
            <TextBlock Text="{Binding CustomerName}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
            <TextBlock Text="{Binding MerchantName}" TextWrapping="Wrap" FontSize="20" Foreground="#FFC4C4C4" Padding="10" /> 
            <TextBlock Text="{Binding Distance}" TextWrapping="Wrap" FontSize="16" Foreground="#FFC4C4C4" Padding="10" /> 
            <TextBlock Text="{Binding DistanceInMinutes}" TextWrapping="Wrap" FontSize="16" Foreground="#FFC4C4C4" Padding="10" /> 
           </StackPanel> 
          </StackPanel> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 

而且我有一個更改事件在cs文件是

private void CouponListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
     { 
      // If selected index is -1 (no selection) do nothing 
      if (CouponListBox.SelectedIndex == -1) 
       return; 
      // Navigate to the new page 
      System.Diagnostics.Debug.WriteLine("this is a test::" + CouponListBox.SelectedItem.ToString()); 
      NavigationService.Navigate(new Uri("/DetailsPage.xaml?selectedItem=" + CouponListBox.SelectedIndex, UriKind.Relative)); 

      // Reset selected index to -1 (no selection) 
      CouponListBox.SelectedIndex = -1; 
     } 

在DetailsPage我可以能夠打印的項目指標。但我要的是在URL方式通

"/DetailsPage.xaml?selectedItem=" + CouponListBox.SelectedIndex + "&customerId=" + couponId 

誰能告訴我,我應該包括客戶ID在我的XAML文件的客戶ID?以及我可以在功能中調用它的人。

謝謝 KARTHIK

回答

6

使用這樣的:在用戶控件的加載或其他適當的事件

if (this.NavigationContext.QueryString.ContainsKey("customerId")) 
{ 
    string customerId = this.NavigationContext.QueryString["customerId"]; 
} 

if (this.NavigationContext.QueryString.ContainsKey("selectedItem")) 
{ 
    string selectedItem = this.NavigationContext.QueryString["selectedItem"]; 
}