从数据绑定listBox获取新页面的信息

时间:2011-07-23 13:04:13

标签: windows-phone-7 wpf-controls

我有一个新闻部分,其中包含来自ViewModel(listBox include)

的listBox绑定
<controls:PanoramaItem x:Name="News" Header="News">
<!--Double line list with image placeholder and text wrapping-->
<ListBox x:Name="News_ListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}"SelectionChanged="SelectNewsItem">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,17">
<!--Replace rectangle with image-->
<Rectangle Height="100" Width="100" Fill="#FFE5001b" Margin="12,0,9,0"/>
<StackPanel Width="311">                                    
<TextBlock Name="NewsTitle" Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Name="NewsDetail" Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PanoramaItem>

我想这样做,当有人点击一个新闻项目时,它会将他带到一个新页面并查看完整信息。我做了selectionChanged事件,但我不知道如何从绑定中获取新闻信息?

Plz帮助我。 谢谢,

1 个答案:

答案 0 :(得分:2)

这些案例的典型SelectionChanged处理程序应如下所示:

private void lstItems_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (lstItems.SelectedIndex == -1) return;

    var item = lstItems.SelectedItem as MyClass;
    // do navigation here

    lstItems.SelectedIndex = -1;
}

这是Visual Studio for WP7中DataBound模板的一部分。