ListView
を作成しようとしましたが、ホバーと選択スタイルはありませんが、ListViewItem
の色が交互になります。私はItemContainerStyle
を設定するスタイルを無効にするにはホバーなしで選択したスタイルがリストビューアイテムの色のスタイルを交互に使用するリストビュー
。問題は、私に語っWPF Inspector
Christian Mosers
として表現ListView.AlternationIndex
は何とかオールウェイズ0
に評価されていることです。これにより、すべてのアイテムの背景色が赤色になります。
<ListView ItemsSource="{Binding Configuration}" AlternationCount="2" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Border>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<Trigger Property="ListView.AlternationIndex" Value="0">
<Setter Property="Background" Value="Red" />
</Trigger>
<Trigger Property="ListView.AlternationIndex" Value="1">
<Setter Property="Background" Value="Blue" />
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
どのように選択してホバースタイルを持たないアイテムに色を付けることができますか?
(最初の項目の背景色は、第2の青色の一再びように第三の赤色の赤色されるべきである)
(背景色、ボーダー、パディング、マージン及び答えてくれてありがとう:マウスが
ListViewItem
上にあるかListViewItem
が選択されている場合など)
EDITを変更しないでください。私は、Name
プロパティを取り除くために、ソリューションへのテンプレートバインディングを追加しました。
<ListView ItemsSource="{Binding Configuration}" AlternationCount="2" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="ListBox.AlternationIndex" Value="0">
<Setter Property="Border.Background" Value="Red" />
</Trigger>
<Trigger Property="ListBox.AlternationIndex" Value="1">
<Setter Property="Border.Background" Value="Blue" />
</Trigger>
</Style.Triggers>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Border Background="{TemplateBinding Background}">
<ContentPresenter Content="{TemplateBinding Content}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
あなたは本当にただの選択スタイルを無効にするか、あなたが実際に選択機能を必要としないですか全く?アイテムの動的スタックを表示したいだけなら、 'ItemsControl'に戻すこともできます。 – grek40
@ grek40選択機能が必要です – NtFreX