2009-02-22 5 views
0

Je possède ce ListView en XAMLComment trouver un ListView dans un DataTemplate?

<ListView x:Name="PersonsListView" ItemsSource="{Binding}" ItemTemplate="{DynamicResource personLayout}"> 
    <ListView.Resources> 
     <DataTemplate x:Key="personLayout" DataType="Person"> 
      <StackPanel Orientation="Vertical"> 
       <TextBlock Text="{Binding Path=FullName}"/> 
       <ListView x:Name="AddressesListView" ItemsSource="{Binding Path=Addresses}"/> 
      </StackPanel> 
     </DataTemplate> 
    </ListView.Resources> 
</ListView> 

Comment puis-je utiliser AddressesListView dans le code derrière? Par exemple si je veux faire AddressesListView.SelecItem.

Répondre

2

Étant donné un élément dans PersonsListView de Type Person, vous pouvez utiliser la propriété ItemContainerGenerator sur PersonsListView et trouver le conteneur pour l'élément de données. Vous devriez alors utiliser bable pour utiliser FrameworkElement.FindName(), pour trouver cet élément spécifique.

ListView imbriqué ressemble un peu bizarre :) BTW

+0

dhopton: Pouvez-vous expliquer moi ta dernière déclaration? merci – Mariano

+0

Ma déclaration sur les listes contenant d'autres vues de liste étant étrange? Bien sûr - c'est juste bizarre de voir des listes à l'intérieur d'autres listes ... au moins en utilisant les contrôles d'affichage de liste complète (par exemple, avoir N niveaux de sélection). Juste semble étrange. –

+0

Merci !. J'ai un aperçu et réalise que je mélangeais des données et des vues DataTemplate. soja un nabo. – Mariano

Questions connexes