繁体   English   中英

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

[英]navigating to a new page on clicking an item in the 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;
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM