2013-04-09 89 views
0

這是我的xaml Panorama頁面項目。從Panorama頁面導航到非全景頁面(listitems)

<controls:PanoramaItem x:Name="deeln" Header="Deelnemers" Style="{StaticResource subtitle}"> 
       <!--Double line list with image placeholder and text wrapping--> 
       <ListBox Margin="12,0,-12,0" ItemsSource="{Binding ItemsDeelnemer}" x:Name="lbDeelnemer" SelectionChanged="lbDeelnemer_SelectionChanged"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled"> 
           <StackPanel Orientation="Horizontal" Margin="0,0,0,17"> 
            <TextBlock Foreground="Black" TextWrapping="Wrap" Text="{Binding LineNr}" Style="{StaticResource PhoneTextExtraLargeStyle}" ></TextBlock> 
            <StackPanel Width="430" Height="100"> 
             <TextBlock Foreground="Black" TextWrapping="Wrap" Text="{Binding LineNaamWielrenner1}" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="35"></TextBlock> 
             <TextBlock Foreground="Black" TextWrapping="Wrap" Text="{Binding LineNaamWielrenner2}" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize="35"></TextBlock> 
            </StackPanel> 
           </StackPanel> 
          </ScrollViewer> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 
      </controls:PanoramaItem> 

這是我在全景頁面代碼。

私人無效lbDeelnemer_SelectionChanged(對象發件人,SelectionChangedEventArgs E) { #地區去具體deelnemerinfo屏幕

 // If selected index is -1 (no selection) do nothing 
     if (lbDeelnemer.SelectedIndex == -1) 
      return; 

     // Navigate to the new page 

     if (lbDeelnemer.SelectedIndex == 0) 
     { 
      NavigationService.Navigate(new Uri("/DeelnemerInfo.xaml", UriKind.Relative)); 
      //NavigationService.Navigate(new Uri("/DeelnemerInfo.xaml?selectedItem=" + lbDeelnemer.SelectedIndex, UriKind.Relative)); 
     } 

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

     #endregion 
    } 

這裏是從非全景頁我的代碼。

protected override void OnNavigatedTo(NavigationEventArgs e) { //第二次嘗試 string strItemIndex; if(NavigationContext.QueryString.TryGetValue(「goto」,out strItemIndex)) PanoramaControl.DefaultItem = MyPanorama.Items [Convert.ToInt32(strItemIndex)];

 base.OnNavigatedTo(e); 

     //first try 
     string selectedIndex = ""; 
     if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex)) 
     { 
      int index = int.Parse(selectedIndex); 
      DataContext = App.ViewModel.ItemsDeelnemer[index]; 
     } 
    } 

我的問題,我想導航像你這樣一個默認的數據綁定應用程序做。您點擊第一個列表項目,然後轉到新頁面(非全景圖)。 它看起來很簡單,但我找不到它。

回答

0

嘗試標籤屬性/項目值

 <ListBox> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <StackPanel> 
         <HyperlinkButton Tag="{Binding FileName}" Click="location_Click"/> 
         <TextBlock Text="{Binding DateCreated}"/>          
        </StackPanel> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 

導航結合指數也

private void location_Click(object sender, RoutedEventArgs e) 
     { 
      HyperlinkButton clicked = (HyperlinkButton)sender; 
      string uri = "/noteapp;component/ViewEdit.xaml?id=" + clicked.Tag; 
      NavigationService.Navigate(new Uri(uri, UriKind.Relative)); 
     } 

和panaroma頁使用本這樣的檢索值

filename = NavigationContext.QueryString["id"]; 
var storage = IsolatedStorageFile.GetUserStoreForApplication(); 
using (var file = storage.OpenFile(filename, FileMode.Open)) 
+0

不工作。這也不是我所需要的。不管怎麼說,還是要謝謝你。 – 2013-04-09 18:38:12

+0

我自己修復了。我只是把