2010-11-22 17 views
1

J'ai un contrôle Panorama et à l'intérieur il est un DataTemplate et dans le DataTemplate est un contrôle Image. Je veux obtenir le contrôle Image de l'élément sélectionné pour le changer en quelque chose d'autre. Le code XAML est comme ceci:Obtenir des contrôles à partir d'un DataTemplate dans un ListBox (ou Panorama)

<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> 

Par exemple, tous les articles auront leurs propres images, mais quand il est sélectionné, je vais changer l'image à quelque chose d'autre, puis revenir à sa propre image.

Répondre

2

Vous devez obtenir le conteneur réel en utilisant la ItemContainerGenerator de votre commande:

FeedsPanorama.ItemContainerGenerator.ContainerFromItem(currentDataObject); 
+0

Merci d'avoir répondu. Je vais jeter un oeil à cela – vodkhang

+0

Cela fonctionne pour moi d'obtenir la grille, puis j'ai encore besoin d'obtenir le contrôle de l'image en utilisant VisualTree. En tout cas, merci – vodkhang

+0

Salut, j'ai une listbox dans le datatemplate d'un panoramacontrol, comment puis-je y accéder? – Bohrend