0

how can I get to the contents of the clicked grid Item in a grid view ... for example the grid item has a textbox ... how could I get the contents of this textbox when the gridview Item is clicked vie ItemClickEventArgs ? thanks

4

3 回答 3

0

如果您使用 DataTemplate 在 GridView 中显示项目,我发现最简单的方法是在包含所有项目的 DataTemplate 控件上捕获 Tapped、Hold 等事件。

如果您可以编码

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

这将为您提供单击的项目中的对象。

于 2013-07-09T00:52:46.967 回答
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;
}
于 2013-05-03T18:06:59.373 回答
0

假设您在 GridView 中使用 ItemsSource,您可以使用 e.ClickedItem 来获取您单击的 GridViewItem 的 DataContext。如果你想要实际的 GridViewItem 你可以使用

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

然后,您可以根据需要使用 VisualTreeHelper.GetChild 进行挖掘(例如查找 TextBox)。

于 2013-05-03T20:40:00.767 回答