2012-05-01 92 views
1

獲取文本我在這個環節 http://www.coderzheaven.com/2012/03/23/how-to-create-a-custom-listbox-in-windows-phone-7/從列表視圖

作出教程以下的自定義列表視圖和我需要的是我想要得到一個特定行,當點擊每行的標題和副標題。有沒有什麼辦法讓文本不從它所提供的數組中獲取。

+0

該鏈接是這樣一種醜陋的方式來實現...爲什麼不只是創建一個類的對象,並創建一個List/ObservableCollection的對象?然後,您可以使用簡單的綁定,並通過SelectedItem輕鬆獲取您想要的項目。 –

+0

我是windows phone的新手,能否爲我提供一個鏈接或一些教程。這將是非常有益的。 – user1293519

回答

1
public class Account 
{ 
    public string Title { get; set; } 
    public string SubTitle { get; set; } 
    public string ImageUrl { get; set; } 
} 

MainPage.xaml中

<ListBox Margin="12,75,12,0" Name="L1" SelectionChanged="ListBox_SelectionChanged"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <StackPanel Margin="0,0,0,17" Width="432" Height="78"> 
           <TextBlock TextWrapping="Wrap" Text="{Binding Title}" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
           <TextBlock TextWrapping="Wrap" Text="{Binding SubTitle}" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
          </StackPanel> 
         </DataTemplate> 
</ListBox.ItemTemplate> 
       </ListBox> 

MainPage.xaml.cs 

公衆的ObservableCollection MyAccounts {獲得;組; }

public MainPage() 
{ 
    Loaded += MainPageLoaded; 
} 
// Load data for the ViewModel Items 
     private void MainPageLoaded(object sender, RoutedEventArgs e) 
     { 
       MyAccounts = GenerateAccounts(); //populate your list 
       L1.ItemsSource = MyAccounts; 

     } 

     private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
     { 
       var lb = (ListBox)sender; 
       if (lb.SelectedIndex == -1)return; 
       var account = (Account)sender.SelectedItem; 
       //get properties from Account npw. 
       lb.SelectedIndex = -1; 
     } 
} 
+1

哦,這裏有一個很好的示例:http://www.windowsphonegeek.com/tips/WP7-ListBox-SelectedItem –