上篇文章中的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="1.5"/&

本文介绍了如何在WPF中利用ItemContainerStyle修改ListBoxItem的样式,特别是针对鼠标悬停时的效果。通过添加MultiTrigger和ScaleTransform,可以实现ListBoxItem的背景、边框、字体大小的改变。同时,文章提到了使用Storyboard动画来动态调整ScaleTransform的ScaleX和ScaleY属性,以实现更丰富的交互体验。
最低0.47元/天 解锁文章
777

被折叠的 条评论
为什么被折叠?



