Xaml嵌套事件不起作用

本文关键字:不起作用 事件 嵌套 Xaml | 更新日期: 2023-09-27 18:27:02

我有一个带有tap事件的网格,在这个网格中还有三个带有click事件的按钮。第一个(中间的)按钮工作,但其他按钮不工作。如果我点击它,就会触发网格事件,而不是按钮事件。我不知道为什么?

<Page
....
<Grid Background="{ThemeResource BackgroundBrush}"  Tapped="Grid_Tapped">
    <Grid.RowDefinitions>
        <RowDefinition Height="130"/>
        <RowDefinition Height="80"/>
        <RowDefinition Height="10"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="90"/>
    </Grid.RowDefinitions>
    <Border Grid.Row="2" Background="#BEBEBE"/>
    <Border Grid.Row="3" Background="#BEBEBE"/>
    ....
    <Button x:Name="btnGoToContent" Content="" HorizontalAlignment="Center" VerticalAlignment="Bottom" Grid.Row="3" Margin="0,0,0,20" Height="80" Width="320" Click="btnGoToContent_Click" Style="{StaticResource ButtonStyle2}" Opacity="0.7"/>
    <Button x:Name="btnDiashowBack" Content="" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Row="3" Margin="0,0,0,0" Height="220" Width="220" Click="btnDiashowBack_Click" Style="{StaticResource BackButtonStyle}" Opacity="0.7"/>
    <Button x:Name="btnDiashowNext" Content="" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="3" Margin="0,0,0,0" Height="220" Width="220" Click="btnDiashowNext_Click" Style="{StaticResource BackButtonMirror}" Opacity="0.7"/>
</Grid>

Xaml嵌套事件不起作用

我不知道为什么它不起作用。但我用这个变通办法解决了这个问题。跳过网格事件处理程序中的事件

   private async void Grid_Tapped(object sender, TappedRoutedEventArgs e) {
        if (e.OriginalSource.GetType() == typeof(TextBlock)) 
        {
            return;
        }
        .......
   }