2

我有以下结构:

     <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 的selecteditem 的子网格?

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

4

1 回答 1

2

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

IE

// 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>();

希望这对编码有所帮助和快乐!

于 2014-06-12T18:39:56.713 回答