c# - 如何获取 Gridview SelectedItem 子网格?

标签 c# gridview windows-8 windows-store-apps winrt-xaml-toolkit

我有以下结构:

     <GridView x:Name="GVmain" SelectionChanged="GVmain_SelectionChanged_1" ItemsSource="{Binding DateItemsView}" SelectionMode="None" Visibility="Visible" Padding="120,0,0,0" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.VerticalScrollMode="Disabled" Grid.Row="1"  ItemContainerStyle="{StaticResource GridViewItemStyleATLIST}">
            <!--<StackPanel Orientation="Horizontal">-->

            <GridView.ItemTemplate>
                <DataTemplate>
                    <Grid Margin="0,0,30,0" Width="400" DataContext="{Binding}" >
                        <Grid.RowDefinitions>
                        ...

使用Xamwinrt工具包,有没有办法选择GVmain的selectitem的Child Grid?

我想我只能将 SelectedItem 转换为其 ItemSource 的类型。

最佳答案

使用ListView.ContainerFromItem ,传入ListView.SelectedItem。这将为您提供 SelectedItemListViewItem。然后,您可以使用普通的 GetDescendentsGetFirstDescendantOfType 来解析可视化树。

// ContainerFromItem seems to have issues at times, so use ContainerFromIndex.
//var itemContainer = GVmain.ContainerFromItem(GVmain.SelectedItem);
var itemContainer = GVmain.ContainerFromIndex(GVmain.SelectedIndex);
var rootGrid = itemContainer.GetFirstDescendantOfType<Grid>();

希望这对您有所帮助,祝您编码愉快!

关于c# - 如何获取 Gridview SelectedItem 子网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24181739/

相关文章:

c# - OpenFileDialog 和 UnauthorizedAccessException

c# - 控制台应用程序 C# 的关闭事件

c# - 如何在 gridview 中动态添加页脚行。带文本框

ajax - 不重新加载页面的 gridview Yii2 中的分页

java - 有什么方法可以从 Eclipse 的层次结构 View 中隐藏测试类吗?

javascript - 添加参数到 windows.location 现在页面不想重定向到所需的表单

c# - 使用 FFMPEG 添加闪屏到视频开头

cookies - 通过 Win Store 应用程序的代码为 webview 设置 cookie/ header

sql - 部署使用 SQLite 的 Windows 8 Metro 应用程序

.net - 新的 Windows 应用程序 - 什么语言?