上篇文章中的ItemContainerStyle 只是默认的样式,但是很多时候我们做鼠标悬浮操作时都想有其它的效果,比如改变ListBoxItem的背景或者边框,再者改变字体大小。
前面提到的MultiTrigger对象,就是多条件触发器,也许触发条件不止IsMouseOver。 我们在原来的基础上增加设置条目的放大转换ScaleTransform( 它隶属于LayoutTransform,用于设定UIElement的“布局转化”),并且设置FonteWeight以及FontFamily属性。下面的代码省略了部分代码。
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True"/>
</MultiTrigger.Conditions>
<Setter Property="Background" TargetName="Bd" Value="{StaticResource Item.MouseOver.Background}"/>
<Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource Item.MouseOver.Border}"/>
<Setter Property="LayoutTransform">
<Setter.Value>
<ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
</Setter.Value>
</Setter>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="FontFamily" Value="宋体" />
</MultiTrigger>
<ScaleTransform ScaleX="1.5" ScaleY=