我很难做到以下几点:
我有一个用网格填充网格视图的数据模板。要生成的网格数量取决于数据绑定,即它返回的数据对象的数量。我在数据模板中定义的网格包含一些控件;即图像和文本框。
我试图在 gridview 的事件 selectionchanged 上引用图像,但我失败了。这是我正在尝试做的示例代码:
数据模板(在 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>
现在 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 返回用于生成网格的数据对象,而不是网格本身。
任何人都可以帮助我参考单击项目的图像控件吗?