如何在网格视图中查看单击的网格项目的内容...例如,网格项目有一个文本框...当单击gridview项目时,如何通过ItemClickEventArgs获取此文本框的内容? 感谢
答案 0 :(得分: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;
}
答案 1 :(得分:0)
假设您正在将GridSource与GridView一起使用,您可以使用e.ClickedItem获取您单击的GridViewItem的DataContext。如果你想要实际的GridViewItem,你可以使用
GridViewItem item = (sender as GridView).ItemContainerGenerator.ContainerFromItem(e.ClickedItem) as GridViewItem;
然后你可以根据需要使用VisualTreeHelper.GetChild挖掘(比如找一个TextBox)。
答案 2 :(得分:0)
如果您使用DataTemplate在GridView中显示项目,我发现最简单的方法是在DataTemplate的控件上捕获Tapped,Hold等事件,该控件包含所有项目。
如果您可以编码
private void ItemTapped(object sender, TappedRoutedEventArgs e)
{
var clickedItem = (sender as FrameworkElement).DataContext;
}
这将为您提供被点击的项目中的对象。