EventTrigger 和 Storyboard
另一种类型的触发器是 EventTrigger,它根据事件的引发来启动一组操作。 例如,下面的 EventTrigger 对象指定当鼠标指针进入 ListBoxItem 时,MaxHeight属性在 0.2 秒时间内以动画方式增大为值 90。 当鼠标离开该项时,该属性在 1 秒时间内还原为原始值。 请注意为何无需为 MouseLeave 动画指定 To 值。这是因为动画能够跟踪原始值。
<EventTrigger RoutedEvent="Mouse.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetProperty="MaxHeight" To="90" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> <EventTrigger RoutedEvent="Mouse.MouseLeave"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Duration="0:0:1" Storyboard.TargetProperty="MaxHeight" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger>
---转自MSDN,样式设置和模版化