问题
当我点击ListView项目时,它会调用" Tapped"事件导航到另一个页面。我在ItemTemplate中有一个Up Vote事件,当他们调用该特定事件时,我不想调用ListView的tapped事件。知道我该怎么做吗?
ListView XAML:
父事件," listboxFeedbackItem_Tapped",只要点击列表视图的任何部分就会发生
<Grid x:Name="gridMainData" Grid.Row="2">
<ProgressBar x:Name="prgBar" IsIndeterminate="True" VerticalAlignment="Top" Visibility="{Binding Path=FeedbackVM.IsLoading, Mode=TwoWay}"/>
<ListView ItemTemplate="{StaticResource FeedbackTemplate}" ItemsSource="{Binding FeedbackVM.FeedbackCollection}" Tapped="listboxFeedbackItem_Tapped"/>
</Grid>
ItemTemplate Xaml:
活动&#34; UpVoteItem_Tap&#34;不应该触发&#34; listboxFeedbackItem_Tapped&#34;
<DataTemplate x:Key="FeedbackTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Margin="0,0,30,0" Text="{Binding UpVotes}" Tapped="UpVoteItem_Tap"/>
</StackPanel>
</DataTemplate>
也许在C#中有一种方法可以防止后续事件发生? 谢谢,我仍然试图围绕XAML。
答案 0 :(得分:1)
当您收到UpVote点击事件时,您可以通过设置e.Handled=true
告诉它不要将事件传递给父列表视图:
void UpVoteItem_Tap(object sender, TappedRoutedEventArgs e)
{
// Processing here
...
// don't send event to parent
e.Handled = true;
}