单击列表框中的项目导航到新页面

时间:2014-02-08 06:12:48

标签: c# windows-phone-7 listbox

我正在构建一个应用程序,我需要在单击列表框中的项目时导航到另一个页面。我已经尝试了很多但是无法做到。点击时没有任何反应。请参阅我的xaml和cs文件,检查我的编码是否有任何问题。

我的xaml是:

<ListBox Name="listBox1" SelectionChanged="listBox1_SelectionChanged"  Height="676" VerticalAlignment="Bottom">
    <ListBox.ItemTemplate>
        <DataTemplate>
              <Button>
                 <Button.Content>
                   <ScrollViewer HorizontalScrollBarVisibility="Auto" Height="80" Width="400">
                       <StackPanel Orientation="Horizontal" Margin="0,0,0,0">
                           <Image Source="{Binding ImageBind }" Height="80" Width="120"/>
                           <StackPanel Orientation="Vertical">
                               <TextBlock Text="{Binding Path=News_Title}" TextWrapping="Wrap"></TextBlock>
                               <!-- <TextBlock Text="{Binding Path=News_Description}" TextWrapping="Wrap"></TextBlock>-->
                               <TextBlock Text="{Binding Path=Date_Start}" TextWrapping="Wrap" ></TextBlock>
                           </StackPanel>
                       </StackPanel>
                   </ScrollViewer>
               </Button.Content>
           </Button>
       </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我的cs文件是:

private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    // If selected index is -1 (no selection) do nothing

    if (listBox1.SelectedIndex == -1)
        return;

    // Navigate to the new page
    NavigationService.Navigate(new Uri("/NewsDetails.xaml?selectedItem=" + listBox1.SelectedIndex, UriKind.Relative));

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

1 个答案:

答案 0 :(得分:1)

我认为您可以向Button添加IsHitTestVisible =“False”的属性。因此可以执行listBox1_SelectionChanged方法。