0
我正在構建應用程序,需要在單擊列表框中的項目時導航到另一個頁面。我嘗試了很多,但無法做到。點擊時沒有任何反應。請參閱我的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方法可以被執行。 –
爲什麼你把所有這些東西放在按鈕內容中 –
刪除一旦這個選擇從xaml改變了事件,並進一步添加此事件...試試這可以幫助你 –