2010-05-21 7 views
1

Je suis un peu nouveau sur WPF. Je travaille sur une interface de liste où chaque élément de la liste aura un ensemble de boutons correspondants pour fonctionner sur cet élément de données particulier. En venant d'un arrière-plan web, j'aurais normalement lié la valeur dans un élément caché dans cet élément particulier de la liste ou quelque chose comme ça. Cependant, j'ai juste besoin de trouver la technique correspondante dans ce monde WPF :-)Bouton dans un WPF ListItem

+0

Votre problème a-t-il été résolu? –

+0

Pas tout à fait ... J'ai essayé de lier une commande routée au bouton, mais je n'ai pas beaucoup de chance pour obtenir la commande –

+0

Hey, s'il vous plaît signaler la progression ou demander si vous avez besoin d'aide. –

Répondre

2

La technique la plus courante consiste à utiliser des modèles. S'il vous plaît envisager d'utiliser mon exemple d'un ListItem basé sur un modèle (par exemple ListBoxItem):

<ListBox> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal"> 
        <Button Command="{Binding Path=YourCommand}" Content="Dynamic Button 1" /> 
        <Button Command="{Binding Path=YourSecondCommand}" Content="Dynamic Button 2" /> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

s'il vous plaît ne hésitez pas à demander si vous avez des questions/idées.

+0

Merci pour votre réponse. Je vois ... ok, alors comment ai-je) définir YourCommand afin que la liaison ci-dessus l'achemine correctement, et b) dans cette commande, comment puis-je référencer l'objet de données de l'élément de liste afin que je puisse l'utiliser? –

+2

Vous devrez préparer DataContext approprié pour votre vue. Cela semble effrayant au début, mais très bientôt, vous trouverez cela extrêmement facile. S'il vous plaît jeter un oeil sur cet excellent article couvrant les commandes liées (en utilisant le modèle de conception MVVM) http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx Auteur utilisé TreeView, mais vous pouvez utiliser Listbox ainsi sans modèles de données hiérarchiques . Cela semble compliqué à première vue, mais pour utiliser le plein potentiel de WPF, vous devez vous familiariser avec les fixations. S'il vous plaît donnez-moi un cri si vous aidez nedd! –