2013-05-03 38 views

回答

0

試試這個代碼。

<GridView x:Name="gv" SelectionChanged="gvSelectionChanged"> 
    <GridViewItem> 
     <TextBox x:Name="txtOne" /> 
    </GridViewItem> 
    <GridViewItem> 
     <TextBox x:Name="txtTwo" /> 
    </GridViewItem> 
</GridView> 

private void gvSelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    var SelectedText = ((TextBox)((GridViewItem)gv.SelectedItem).Content).Text; 
} 
0

假設您在GridView中使用了ItemsSource,那麼可以使用e.ClickedItem來獲取您單擊的GridViewItem的DataContext。如果你想實際GridViewItem可以使用

GridViewItem item = (sender as GridView).ItemContainerGenerator.ContainerFromItem(e.ClickedItem) as GridViewItem; 

然後你可以使用VisualTreeHelper.GetChild根據需要向下挖(喜歡找一個TextBox)。

0

如果您正在使用DataTemplate來顯示GridView中的項目,我發現最簡單的方法是在DataTemplate控件上捕獲所有項目的Tapped,Hold等等事件。

在事件中,你可以編寫

private void ItemTapped(object sender, TappedRoutedEventArgs e) 
{  
    var clickedItem = (sender as FrameworkElement).DataContext; 
} 

這會給你被點擊的項目內的對象。

相關問題