从ListBox(或Panorama)中的DataTemplate获取控件

时间:2010-11-22 10:52:45

标签: c# silverlight controls windows-phone-7

我有一个Panorama控件,里面是DataTemplate,DataTemplate内部是一个Image控件。我想获得所选项目的Image控件以将其更改为其他内容。 xaml代码是这样的:

<controls:Panorama x:Name="FeedsPanorama" FontSize="20">            

            <controls:Panorama.ItemTemplate>
                <DataTemplate x:Name="ItemDataTemplate">
                    <Grid d:DesignWidth="460" d:DesignHeight="700" Width="Auto" Height="Auto">
                        <Image HorizontalAlignment="Left" Height="118" Margin="2,8,0,0" VerticalAlignment="Top" Width="167" x:Name="ImageThumbnail" Source="{Binding SummaryImageLink}" />                        
                    </Grid>
                </DataTemplate>
            </controls:Panorama.ItemTemplate>
        </controls:Panorama>

例如,每个项目都有自己的图像,但是当它被选中时,我会将图像更改为其他图像,然后更改回自己的图像。

1 个答案:

答案 0 :(得分:2)

您需要使用控件的ItemContainerGenerator获取实际容器:

FeedsPanorama.ItemContainerGenerator.ContainerFromItem(currentDataObject);