2012-05-25 62 views
1

導航到另一個頁面上的列表框SelectionChanged我想傳遞textblock的值,而不是發送列表框的項目索引。我怎樣才能做到這一點???使用WP7列表框SelectedItem

回答

0

爲了獲得所選擇的一個ListBoxItem所有你需要做的是以下幾點:

private void btnGetSelected_Click(object sender, RoutedEventArgs e) 
{ 
    ListBoxItem selectedItem =this.listBox.ItemContainerGenerator.ContainerFromItem(this.listBox.SelectedItem) as ListBoxItem; 
    var textblock = selectedItem.Content 
} 

source

0

創建一個新的數據綁定應用程序。

看看生成的來源。它顯示了一個如何做到這一點的例子。

0

嘗試以下方法:
列表框在XAML源碼:

<ListBox x:Name="listBox" FontSize="26" SelectionChanged="listBox_SelectionChanged"> 
    <ListBoxItem Content="Item1"/> 
    <ListBoxItem Content="Item2"/> 
    <ListBoxItem Content="Item3"/> 
    <ListBoxItem Content="Item4"/> 
    <ListBoxItem Content="Item5"/> 
    <ListBoxItem Content="Item6"/> 
</ListBox> 


在.xaml.cs代碼:

 public void SurahsList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
     { 
      string r = ((ListBox)sender).SelectedValue.ToString(); 
      NavigationService.Navigate(new Uri("/page.xaml?selecteItem=" + r, UriKind.Relative)); 
     } 

在page.xaml.cs代碼

protected override void OnNavigatedTo(NavigationEventArgs e) 
     { 
      try 
      { 
       string selectedItem= ""; 
       if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedItem)) 
       { 
        if(null != selectedItem) { 
        // your code 
        } 
       } 
      } 
      catch (Exception ex) 
      { 
       if (System.Diagnostics.Debugger.IsAttached) 
       { 
        MessageBox.Show(ex.Message); 
       } 
      } 
     }