繁体   English   中英

网格查看xaml中的项目内容(Windows Store应用程序)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM