C# Xaml嵌套事件不起作用
我有一个带有点击事件的网格,在这个网格中还有三个带有点击事件的按钮。第一个(中间的)按钮正在工作,但其他按钮不工作。如果单击它,将触发网格事件而不是按钮事件。我不知道为什么C# Xaml嵌套事件不起作用,c#,wpf,xaml,C#,Wpf,Xaml,我有一个带有点击事件的网格,在这个网格中还有三个带有点击事件的按钮。第一个(中间的)按钮正在工作,但其他按钮不工作。如果单击它,将触发网格事件而不是按钮事件。我不知道为什么 <Page .... <Grid Background="{ThemeResource BackgroundBrush}" Tapped="Grid_Tapped"> <Grid.RowDefinitions> <RowDefinition Height="130
<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>
我不知道为什么它不工作。但我已经解决了这个问题。跳过网格事件处理程序中的事件
private async void Grid_Tapped(object sender, TappedRoutedEventArgs e) {
if (e.OriginalSource.GetType() == typeof(TextBlock))
{
return;
}
.......
}
您在父级上有一个点击事件。尝试在按钮上添加ClickMode=“Press”。无法解决此问题。但是按钮事件被触发,在这之后点击的事件OK我想可能是这样的(没有测试),所以你只需要分离这些命中区域。将点击的事件移动到按钮后面出现的边框之一,而不是将其应用于所有内容的父对象。