2010-11-27 3 views
2

WPFリストビューの代替行色を設定するにはどうすればよいですか。 私はXAMLで設定できるリストは1つだけですが、私の場合は、代替の行の色をリストに基づいて変更する必要があります。例えば は、私は、各リストは、独自の代替行の色を持つべき時価
によってセクター
3)の順序で会社名で3つの差分リスト...
1)ため、
2)の順序を持​​っています。私は(C#でまたはXAMLファイルに).ANYアイデア/提案は、これはItemsControl.AlternationIndexは、依存関係プロパティで、更新を取得する必要がありますので、あなたがリストに何をすべきかに関係なく動作するはずWPFリストビュー3つの差分リストの異なる代替行の色..?

答えて

6

をaprreciatedされることを行うことができますどのように
:項目への変更をテストするための後ろ

<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> 

コード:

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

あなたが異なるRを望んでいたことを意味している場合私はあなたが代わりにMultiTriggerを使いたいと思っています。一つのトリガプロパティが交代インデックスで、一つのプロパティがどんなソートが使われているのかを示すプロパティに接続されています。 –

関連する問題