如何:使用触发器为 ListView 中的选定项设置样式
此示例演示如何为 ListViewItem 控件定义 Triggers,以便当 ListViewItem 的属性值发生更改时,ListViewItem 的 Style 也会相应更改。
示例
如果想要更改 ListViewItem 的 Style 以响应属性更改,则为 Style 更改定义 Triggers。
下面的示例定义了一个 Trigger,它可将 Foreground 属性设置为 Blue,并在 IsMouseOver 属性更改为 true
时,更改 Cursor 以显示 Hand。
<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>
下面的示例定义了一个 MultiTrigger,它可在 ListViewItem 为选定项且具有键盘焦点时,将 ListViewItem 的 Foreground 属性设置为 Yellow。
<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>