我正在构建一个应用程序,我需要在单击列表框中的项目时导航到另一个页面。我已经尝试了很多但是无法做到。点击时没有任何反应。请参阅我的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;
}
答案 0 :(得分:1)
我认为您可以向Button添加IsHitTestVisible =“False”的属性。因此可以执行listBox1_SelectionChanged方法。