Un ListView
vous permet de définir un ensemble de vues
pour celui-ci et vous donne un moyen natif (prise en charge de WPF
binding
) pour contrôler l'affichage du ListView
en utilisant les vues
définies.
Exemple:
XAML
<Style.Triggers>
<DataTrigger Binding="{Binding ViewType}" Value="1">
<Setter Property="View" Value="{StaticResource one}" />
</DataTrigger>
</Style.Triggers>
<Setter Property="View" Value="{StaticResource two}" />
Code Behind:
private int viewType;
public int ViewType
{
get { return viewType; }
set
{
viewType = value;
UpdateProperty("ViewType");
}
}
private void listv_MouseEnter(object sender, MouseEventArgs e)
{
ViewType = 1;
}
private void listv_MouseLeave(object sender, MouseEventArgs e)
{
ViewType = 2;
}
OUTPUT:
Vue normale: Vue 2 dans le XAML
ci-dessus
![Normal]()
Vue au survol de la souris: Vue 1 dans le XAML
ci-dessus
![Mouse Over]()
Si vous essayez de réaliser ce qui précède dans un ListBox
, vous finirez probablement par écrire beaucoup plus de code pour ControlTemplate
/ItemTemplate
de ListBox
.
1 votes
Non mentionné dans les réponses:
ListView
a des en-têtes de colonnes,ListBox
n'en a pas