2016-08-20 5 views
0

Je suis ce tutoriel sur la façon d'utiliser un ListView ItemTemplate pour afficher une liste de personnes: http://www.wpf-tutorial.com/listview-control/listview-data-binding-item-template/MVVM ItemTemplate avec contrôle personnalisé

Je compris le concept général mais je suis coincé sur un point.

Voici l'exemple de ItemTemplate:

<Grid> 
      <ListView Margin="10" Name="lvDataBinding" ItemsSource"={Binding MyPersonsList}"> 
        <ListView.ItemTemplate> 
          <DataTemplate> 
            <WrapPanel> 
              <TextBlock Text="Name: " /> 
              <TextBlock Text="{Binding Name}" FontWeight="Bold" /> 
              <TextBlock Text=", " /> 
              <TextBlock Text="Age: " /> 
              <TextBlock Text="{Binding Age}" FontWeight="Bold" /> 
              <TextBlock Text=" (" /> 
              <TextBlock Text="{Binding Mail}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" /> 
              <TextBlock Text=")" /> 
            </WrapPanel> 
          </DataTemplate> 
        </ListView.ItemTemplate> 
      </ListView> 
    </Grid> 

Ce que je ne comprends pas, est de savoir comment remplacer les TextBlocks avec un contrôle personnalisé comme celui-ci:

<Grid> 
      <ListView Margin="10" Name="lvDataBinding" ItemsSource"={Binding MyPersonsList}"> 
        <ListView.ItemTemplate> 
          <DataTemplate> 
            <WrapPanel> 
              <MyPersonDisplayer Person="{Binding ???}"/> 
            </WrapPanel> 
          </DataTemplate> 
        </ListView.ItemTemplate> 
      </ListView> 
    </Grid> 

Comment dire le modèle que je veux définir la propriété de contrôle MyPersonDisplayerPerson avec l'élément source?


EDIT:

J'ai essayé d'ajouter que Person={Binding}, mais il me affiche cette erreur.

CompilError

+0

Essayez-le avec '' – lokusking

+0

@lokusking J'ai essayé, mais j'ai une erreur de compilation. Voir ma modification. – Panda

+0

Supprime le bloc de texte. Un seul enfant est pris en charge – lokusking

Répondre

1

Je pense qu'il pourrait avoir des problèmes au sujet de la mise en œuvre MenuItemViewModelpropriété dans MenuItemViewclasse. Avez-vous implémenter la propriété MenuItemViewModel as DependencyProperty? Peut-être que vous pouvez vous référer à ce post.