2013-12-20 57 views
0

這是來自我的Windows 8應用程序的代碼的一部分。 而不是使用VS 2013的網格模板,我在空白的應用程序中創建我自己的網格模板。以下代碼允許我通過網格將網格導航到應用中的不同頁面。可我知道,有沒有什麼辦法,我可以使用指數在GridView和if-else語句使用,以確定何時網格中選擇瀏覽哪個頁面導航到應用其他頁面?GridView導航

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); 
    } 

回答

0

你可以給一個唯一的名稱到每個網格,網格的竊聽事件附加到一個單一的事件處理程序

這裏的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> 

和事件中,你可以只強制轉換髮件人到網格類型並獲取網格的名稱並根據該代碼執行您想要的代碼,如下所示:

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 
     } 
    } 
+0

謝謝!我會稍後再嘗試:) – user2832451