J'ai la listview suivante, mais elle ne montre pas les enregistrements réels, mais seulement l'espace de noms de l'objet. Je me suis demandé si je devais créer les colonnes en XAML pour qu'il affiche les enregistrements et ensuite le lier à certaines propriétés d'un objet ou qu'est-ce qui ne va pas?
<ListView
Name="ListCustomers"
ItemsSource="{Binding Path=ListOfCustomers}"
SelectedItem="{Binding Path=SelectedCustomer}"
SelectionMode="Single"
IsSynchronizedWithCurrentItem="True"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
MinHeight="100"
></ListView>
ListOfCustomers
est un ObservableCollection<Customer>
type. Les clients réels sont chargés dans ObservableCollection, mais ils ne sont pas affichés. Que manque-t-il?
Vous devez également sélectionner les colonnes à afficher:
<ListView ItemsSource="{Binding ListOfCustomers}"
SelectedItem="{Binding Path=SelectedCustomer}"
....>
<ListView.View>
<GridView>
<GridViewColumn Width="140" Header="First Name"
DisplayMemberBinding="{Binding FirstName}" />
<GridViewColumn Width="140" Header="Last Name"
DisplayMemberBinding="{Binding LastName}" />
<GridViewColumn Width="140" Header="Email Address"
DisplayMemberBinding="{Binding Email}" />
....
</GridView>
</ListView.View>
</ListView>
Vous pouvez également essayer
<ListView
.
.
ItemTemplate="{StaticResource CustomerDataTemplate}"
.
.
/>
où CustomerDataTemplate est un DataTemplate pour la classe Customer ...
Est-ce parce que vous n'avez pas défini la propriété DataContext
de ListView avec l'instance qui expose la propriété ListOfCustomers
(qui renvoie la liste des éléments à afficher)?