2013-02-20 67 views
0

我每個具有四宮格有一個按鈕,像獲取網格的另一個孩子從已知的孩子在XAML

<Grid Grid.Row="0"> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="*"/> 
    <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Button Click="ButtonBase_OnClick"> 
    <ListView ..... 
    </ListView> 
</Grid> 

所有的按鈕出現訪問同一事件「ButtonBase_OnClick」 ListView中。我的挑戰是如何獲得與生成單擊事件的按鈕位於同一網格中的按鈕的ListView對象?

回答

0

您可以遍歷樹並獲取ListView。假設有平行於按鍵僅一個ListView中,這樣的事情應該工作...

private void ButtonBase_OnClick(object sender, RoutedEventArgs e) 
{ 
    var par = (sender as Control).Parent; 
    var gri = (par as Grid); 
    if (gri != null) 
    { 
     foreach (var c in gri.Children) 
     { 
      if (c is ListView) 
      { 
       // do something 
      } 
     } 
    } 
} 

你也可以做到這一點的命名約定。將您的按鈕命名爲「BlahButton」,這意味着「BlahListView」是並行列表視圖。您也可以使用像Tag這樣的常規鉤子。