/ / GridViewのSelectedItemの子グリッドを取得する方法は? - c#、gridview、windows-8、windows-store-apps、winrt-xaml-toolkit

私はどのように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のselecteditemのChild Gridを選択する方法はありますか?

私はSelectedItemをその型のItemSourceにキャストすることしかできないと思います。

回答:

回答№1は2

つかいます ListView.ContainerFromItem、渡す ListView.SelectedItem。これはあなたに ListViewItemSelectedItem。その後、通常の GetDescendents または GetFirstDescendantOfType ビジュアルツリーを解析します。

すなわち、

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

これが幸せなコーディングに役立つことを望みます!