2010-06-25 5 views
1

Salut tout le monde. Je suis nouveau à Silverlight et aimerais accéder à un contrôle de bouton qui fait partie d'un ListBoxItem. Cependant, je ne suis pas sûr de savoir comment faire cela. Mon XAML est:Bouton d'accès dans ListBoxItem dans Silverlight

<DataTemplate x:Key="ItemTemplate2"> 
      <Grid Height="51"> 
       <TextBlock x:Name="tbName" Text="{Binding Property1}" Margin="0,0,98,0" d:LayoutOverrides="Height" Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Center"/> 
       <Button x:Name="btnInfo" HorizontalAlignment="Right" Margin="0,-11,0,0" Width="87" Height="54" VerticalAlignment="Top" Background="#FF8EC1D2" BorderBrush="#FF8EC1D2" BorderThickness="0"> 
        <Image Source="../Images/btnNameImage.png" Stretch="None"/>     
       </Button> 
      </Grid> 
     </DataTemplate> 

Comment accéder au "btnInfo" à partir du code-behind?

Merci pour toute aide

+0

Quelle propriété de btnInfo voulez-vous accéder? Vous devriez pouvoir l'utiliser directement avec "btnInfo" ... – VoodooChild

+0

Cela fait partie d'un DataTemplate donc il sera dans un nom de domaine différent de celui de la page et ne sera pas accessible directement dans le code-behind. Qu'est-ce que vous essayez exactement de faire avec le bouton? –

+0

Je voudrais changer l'image du bouton. – TryNCode

Répondre

1

vous ne serez pas en mesure d'y accéder directement à partir du code derrière, mais vous devriez être en mesure de faire ce que vous voulez en vous inscrivant un événement avec elle. Ajoutez un événement Loaded au bouton puis dans votre codebehind définissez la méthode correspondante. De toute évidence, vous pouvez faire la même chose pour gérer les événements de clic ou tout ce que vous voulez.

+0

Merci. Je voudrais effectuer cela pour chaque bouton de la liste, pas seulement celui sélectionné. J'ai également essayé de créer un storyboard pour le remplacement d'image, mais je ne peux pas accéder au storyboard à partir du code derrière. – TryNCode

+0

cela devrait s'exécuter chaque fois que l'un de vos DataTemplates est chargé dans un Template, n'est-ce pas le cas? Pouvez-vous afficher plus de votre code (comme le ItemsControl qui héberge les modèles?) – luke

+0

Merci J'ai eu besoin d'accéder aux boutons de l'extérieur de l'un des événements de bouton eux-mêmes.J'ai donc stocké chaque bouton dans un tableau (dans le laoded événement) et faire de la matrice une variable de niveau de classe.Cela fonctionne bien.Merci encore! – TryNCode

0

Cela ne répond pas directement à votre question d'accès par programmation à un modèle de données, mais qu'en est-il de la liaison?