WPF动画:从基础到高级应用
1. 用模板附加触发器
在动画设计中,通过模板定义动画是实现复用的强大方式。以一个风格化的 ListBox 为例,它使用了弧形边框和阴影背景,并且在鼠标悬停在 ListBoxItem 上时,利用属性触发器改变字体大小。但这种效果比较生硬,文字会直接从初始大小跳到新的更大尺寸。
借助动画,能实现更平滑的体验,让文字大小在短时间内逐渐增大。由于每个 ListBoxItem 都可以有自己的动画,当鼠标在列表上上下移动时,会看到多个项目先变大再缩小,形成有趣的“鱼眼”效果。
添加鼠标悬停动画有两种等效方法:
- 创建响应 MouseEnter 和 MouseLeave 事件的事件触发器。
- 创建在 IsMouseOver 属性改变时添加进入和退出操作的属性触发器。
以下是使用事件触发器的示例代码:
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border ... >
超级会员免费看
订阅专栏 解锁全文
157

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



