2013-03-26 36 views
0

我希望能够逐个找出哪些子网格是作为较大网格的一部分进行点击的。每个子网格都在单独的列和行中,我试图做一些简单的事情,我处理通过不同事件处理程序进行访问的单个网格。我究竟做错了什么?我只能让整个网格在触发时触发一个事件处理程序,但我想要的是事件处理程序“row0col0_Tapped”仅在外部网格的第0行和第0列的部分被触发时触发。WinRT Xaml:点击网格中的单个元素

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" IsTapEnabled="True"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 

    <Grid IsTapEnabled="True" Grid.Row="0" Grid.Column="0" Tapped="row0col0_Tapped"> 
     <Canvas x:Name="row0col0"></Canvas> 
    </Grid> 
    <Grid IsTapEnabled="True" Grid.Row="0" Grid.Column="1"></Grid> 
    <Grid IsTapEnabled="True" Grid.Row="0" Grid.Column="2"></Grid> 

    <Grid IsTapEnabled="True" Grid.Row="2" Grid.Column="0"></Grid> 
    <Grid IsTapEnabled="True" Grid.Row="2" Grid.Column="1"></Grid> 
    <Grid IsTapEnabled="True" Grid.Row="2" Grid.Column="2"></Grid> 

    <Grid IsTapEnabled="True" Grid.Row="2" Grid.Column="0"></Grid> 
    <Grid IsTapEnabled="True" Grid.Row="2" Grid.Column="1"></Grid> 
    <Grid IsTapEnabled="True" Grid.Row="2" Grid.Column="2"></Grid> 
</Grid> 
+0

这里有什么问题?难道你没有'row0col0_Tapped'事件? – asitis 2013-03-26 07:09:44

+0

不,事件未被触发 – Preetpal 2013-03-26 07:11:24

+0

将主网格背景设置为“透明”并检查它 – asitis 2013-03-26 08:52:29

回答

2

请为要挖掘的网格设置一个透明背景。

<Grid IsTapEnabled="True" Background="Transparent" Grid.Row="0" Grid.Column="0" Tapped="row0col0_Tapped"> 
    <Canvas x:Name="row0col0"></Canvas> 
</Grid>