[英]Grid View Items contents in xaml (windows store app)
如何在网格视图中获取单击的网格项目的内容...例如,网格项目具有文本框...当单击gridview项时,如何获取该文本框的内容? 谢谢
试试这个代码。
<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;
}
假设您在GridView中使用ItemsSource,则可以使用e.ClickedItem来获取您单击的GridViewItem的DataContext。 如果您需要实际的GridViewItem,则可以使用
GridViewItem item = (sender as GridView).ItemContainerGenerator.ContainerFromItem(e.ClickedItem) as GridViewItem;
然后,您可以根据需要使用VisualTreeHelper.GetChild进行深入挖掘(例如查找TextBox)。
如果您使用DataTemplate在GridView中显示项目,我发现最简单的方法是捕获保存所有项目的DataTemplate控件上的Tapped,Hold等事件。
如果您可以编码
private void ItemTapped(object sender, TappedRoutedEventArgs e)
{
var clickedItem = (sender as FrameworkElement).DataContext;
}
这将为您提供被单击项目内的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.