方法 : トリガを使用して、ListView で選択された項目のスタイルを設定する
更新 : 2007 年 11 月
この例では、ListViewItem コントロールの Triggers を定義して、ListViewItem のプロパティ値が変化したときに、それに対応して ListViewItem の Style を変更する方法を示します。
使用例
プロパティの変更に対応して ListViewItem の Style を変更する場合は、Style の変更に対して Triggers を定義します。
次の例では、IsMouseOver プロパティが true に変化すると、Foreground プロパティを Blue に設定し、Hand を表示するように Cursor を変更する Trigger を定義します。
<Style x:Key="MyContainer" TargetType="{x:Type ListViewItem}">
<Setter Property="Margin" Value="0,1,0,0"/>
<Setter Property="Height" Value="21"/>
<Style.Triggers>
...
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="Blue" />
<Setter Property="Cursor" Value="Hand"/>
</Trigger>
...
</Style.Triggers>
</Style>
次の例では、ある ListViewItem が選択され、その項目にキーボード フォーカスがあると、その ListViewItem の Foreground プロパティを Yellow に設定する MultiTrigger を定義します。
<Style x:Key="MyContainer" TargetType="{x:Type ListViewItem}">
<Setter Property="Margin" Value="0,1,0,0"/>
<Setter Property="Height" Value="21"/>
<Style.Triggers>
...
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true" />
<Condition Property="Selector.IsSelectionActive" Value="true" />
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="Yellow" />
</MultiTrigger>
...
</Style.Triggers>
</Style>
For the complete sample, see スタイル設定された ListViewItem を持つ ListView のサンプル.