2010-11-27 52 views
2

Comment définir des couleurs de ligne alternatives pour WPF Listview. Si je n'ai qu'une seule liste, je peux définir en XAML, mais dans mon cas, les couleurs de ligne alternées doivent être modifiées en fonction de la liste. Par exemple, j'ai 3 listes diff ...
1) Trier par nom de la société,
2) trié par secteur
3) commande par valeur de marché
Chaque liste doit avoir leurs propres couleurs alternatives de ligne.
Comment puis-je faire (en C# ou dans le fichier XAML) Idées .Tout/suggestions seraient aprreciatedWPF Listview différentes couleurs de rang alternées pour 3 listes diff ..?

Répondre

6

Cela devrait fonctionner, peu importe ce que vous faites à la liste depuis ItemsControl.AlternationIndex est une propriété de dépendance et devrait se mis à jour :

<Window x:Class="MainWindow" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="clr-namespace:WpfApplication1" 
Title="MainWindow" Height="350" Width="525"> 
<Window.Resources> 
    <Style TargetType="ListBoxItem"> 
     <Style.Triggers> 
      <Trigger Property="ItemsControl.AlternationIndex" Value="0"> 
       <Setter Property="Background" Value="AliceBlue" /> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Window.Resources> 
<StackPanel> 
    <ListBox Name="bob" AlternationCount="2"> 
     <ListBoxItem Content="Herald"/> 
     <ListBoxItem Content="Kumar" /> 
     <ListBoxItem Content="Bill" /> 
     <ListBoxItem Content="Dudley" /> 
     <ListBoxItem Content="Jack" /> 
    </ListBox> 
    <Button Click="Button_Click">boo</Button> 
</StackPanel> 

code derrière pour tester les modifications aux articles:

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) 
    Dim item1 As ListBoxItem = bob.Items(4) 
    bob.Items.Remove(item1) 
    bob.Items.Insert(0, item1) 
End Sub 
+0

Si vous vouliez dire que vous vouliez un autre r Je pense que vous devriez utiliser MultiTrigger à la place, où une propriété de déclenchement est l'index d'alternance et une propriété est connectée à une propriété qui indique quel type est utilisé. –