私は次のことをするのに苦労しています:
グリッドビューにグリッドを設定するデータテンプレートがあります。生成されるグリッドの数は、データバインディング、つまり返されるデータオブジェクトの数によって異なります。データテンプレートで定義されているグリッドには、いくつかのコントロールが含まれています。つまり、画像とテキストボックスです。
グリッドビューのeventselectionchangedで画像を参照しようとしていますが、堂々と失敗しています。これが私がやろうとしていることのサンプルコードです:
データテンプレート(style.xaml内):
<DataTemplate x:Key="tmplMenu">
<Grid Width="100"
Height="100"
Margin="0,0,10,10">
<Border Background="{Binding bgColor}" />
<Image Source="{Binding imgPath}"
Stretch="None"
HorizontalAlignment="Left"
VerticalAlignment="Top" />
<TextBlock Text="{Binding description}"
HorizontalAlignment="Right"
VerticalAlignment="Bottom" />
</Grid>
</DataTemplate>
グリッドビュー(たとえば、mainpage.xaml内):
<GridView ItemTemplate="{StaticResource tmplMenu}"
x:Name="myGrid"
Margin="50,20,0,50"
Width="360"
SelectionChanged="myGrid_SelectionChanged">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal"></WrapGrid>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
次に、グリッドビューのselectionChangedイベント(データテンプレートで画像を参照したい場所):
private void myGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
/**REFERENCE IMAGE (which is a child item of the generated grid) OF CLICKED GRID (which is a child item of the gridview) HERE **/
}
ここで、selectionChangedEventArgs eは、グリッド自体ではなく、グリッドの生成に使用されるデータオブジェクトを返します。
クリックしたアイテムの画像コントロールを参照するのを手伝ってくれる人はいますか?