C# 当我点击网格(它是图像的父对象)时,如何使图像可见并折叠?

C# 当我点击网格(它是图像的父对象)时,如何使图像可见并折叠?,c#,xaml,windows-phone,C#,Xaml,Windows Phone,我不熟悉windows phone开发。我有一个网格,其中包含一个图像。我需要使图像在我点击网格(图像的父对象)时可见,并在我第二次点击时折叠 我的设计如下 <Grid x:Name="gridThriller" HorizontalAlignment="Left" Height="172" Margin="33,85,0,0" VerticalAlignment="Top" Width="123" Background="Transparent" Tap="selectThiller"

我不熟悉windows phone开发。我有一个网格,其中包含一个图像。我需要使图像在我点击网格(图像的父对象)时可见,并在我第二次点击时折叠

我的设计如下

<Grid x:Name="gridThriller" HorizontalAlignment="Left" Height="172" Margin="33,85,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller" >
            <Image Source="/Images/right.png" HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"  />
        </Grid>
        <Grid x:Name="gridAction" HorizontalAlignment="Left" Height="172" Margin="186,85,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png"  HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>
        <Grid x:Name="gridHorror" HorizontalAlignment="Left" Height="172" Margin="340,85,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png"  HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>
        <Grid x:Name="gridSciFi" HorizontalAlignment="Left" Height="172" Margin="33,283,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png"  HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>
        <Grid x:Name="gridRomantic" HorizontalAlignment="Left" Height="172" Margin="186,283,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png" HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>
        <Grid x:Name="gridComedy" HorizontalAlignment="Left" Height="172" Margin="340,283,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png"  HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>
        <Grid x:Name="gridDrama" HorizontalAlignment="Left" Height="172" Margin="33,481,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png"  HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>
        <Grid x:Name="gridFantacy" HorizontalAlignment="Left" Height="172" Margin="186,481,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png"  HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>
        <Grid x:Name="gridAnimated" HorizontalAlignment="Left" Height="172" Margin="340,481,0,0" VerticalAlignment="Top" Width="123"  Background="Transparent" Tap="selectThiller">
            <Image Source="/Images/right.png"   HorizontalAlignment="Right" VerticalAlignment="Top" Stretch="None"/>
        </Grid>


如何解决这个问题?

看起来,所有这些对象的点击事件都指向同一个方法,所以这是一个好的开始。如果你想继续沿着这条路走下去,那么我会做以下几点

在你的tap活动中

        foreach(Image item in (sender as Grid).Children)
        {
            if(item.Visibility == Visibility.Visible)
                item.Visibility = Visibility.Collapsed;
            else
                item.Visibility = Visibility.Visible;
        }
注意#如果在这些网格元素中放置除图像以外的任何其他内容,这将爆炸。如果您需要添加其他内容,那么您需要在上面添加单独的逻辑来删除图像