[WP]WindowsPhone7团购小程序2-关于获取listbox中的子控件内容。

在我的程序中listbox的子控件较多,而且listbox控件的每次的index值与数据源的数据库的ID项不一致,因此需要获取来自界面的index来显示数据库的具体数据。

listbox
 1   <ListBox  x:Name="newlist"  ItemsSource="{Binding DealTableOC}" SelectionChanged="newlist_SelectionChanged">
2 <ListBox.ItemTemplate>
3 <DataTemplate >
4 <StackPanel Height=" 180" Orientation="Horizontal">
5 <Rectangle Width=" 80" Height=" 80" Fill="Azure" VerticalAlignment="Top" ></Rectangle>
6 <!--<TextBlock FontSize="20" Text="{Binding DealID}"/>-->
7 <StackPanel Orientation="Vertical" Width="340">
8 <TextBlock Text="{Binding DealTitle}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" FontSize=" 19" Margin="12,0,0,0"/>
9 <StackPanel Orientation="Horizontal">
10 <TextBlock Text="现价:" Style="{StaticResource PhoneTextSubtleStyle}" FontSize="18.667"/>
11 <TextBlock Text=" price" Style="{StaticResource PhoneTextSubtleStyle}" Margin="-12.1,0,12,0"/>
12 <TextBlock Text=" 原价:" Style="{StaticResource PhoneTextSubtleStyle}" />
13 <TextBlock Text=" vaule" Style="{StaticResource PhoneTextSubtleStyle}" Margin="-12,0,12,0" />
14 </StackPanel>
15 </StackPanel>
16 </StackPanel>
17 </DataTemplate>
18 </ListBox.ItemTemplate>
19 </ListBox>

如何在back code中获得其中的id并且传递给其他界面,参考网络上的:

获取ID
1  int m = (newlist.SelectedItem as DealTableClass).DealID;

其中DealTableClass是之前定义好的类,也就是listbox所绑定的数据类型。
但此处应注意selectedIndex是否为-1,在数据重新获取加入到listbox中以后selected会触发并返回出index为-1。在获取id的时候添加除错代码。

你可能感兴趣的:(windows)