GridView导航

时间:2013-12-20 09:12:52

标签: c# gridview windows-8

这是我的Windows 8应用程序代码的一部分。 我没有使用VS 2013的网格模板,而是在空白应用程序中创建自己的网格模板。以下代码允许我逐个网格导航到应用程序中的不同页面。我可以通过使用GridView的索引使用if-else语句来确定哪些方式导航到应用中的其他页面选择网格时要导航的页面

   private void grid1_Tapped(object sender, TappedRoutedEventArgs e)
    {
        Frame.Navigate(typeof(pageA), sender as Grid);
    }

    private void grid2_Tapped(object sender, TappedRoutedEventArgs e)        
    {
        Frame.Navigate(typeof(pageB), sender as Grid);
    }

    private void grid3_Tapped(object sender, TappedRoutedEventArgs e)
    {
        Frame.Navigate(typeof(pageC), sender as Grid);
    }

1 个答案:

答案 0 :(得分:0)

您可以为每个网格指定一个唯一的名称,并将网格的tapped事件附加到单个事件处理程序

这是XAML

            <Grid x:Name="Grid1" Tapped="Grid_Tapped">
                <!--Your Code Here-->
            </Grid>

            <Grid x:Name="Grid2" Tapped="Grid_Tapped">
                <!--Your Code Here-->
            </Grid>

            <Grid x:Name="Grid3" Tapped="Grid_Tapped">
                <!--Your Code Here-->
            </Grid>

并且对于事件,您可以将发件人类型转换为Grid类型并获取网格的名称,并根据该名称执行您想要的代码,例如

    private void Grid_Tapped(object sender, TappedRoutedEventArgs e)
    {
        if (((Grid)sender).Name == "Grid1")
        {
            //your code for grid1
        }
        else if (((Grid)sender).Name == "Grid2")
        {
            //your code for grid2
        }
        else if (((Grid)sender).Name == "Grid3")
        {
            //your code for grid3
        }
    }