各元素不透明的属性:
见代码中各类动画目标属性的不透明度引用.动画
<Page.Triggers> <Page.Triggers> <EventTrigger RoutedEvent="Page.Loaded"> <BeginStoryboard Name="myBeginStoryboard"> <Storyboard Name="myStoryboard"> <DoubleAnimation Storyboard.TargetName="opacityAnimatedButton" Storyboard.TargetProperty="(Button.Opacity)" From="1" To="0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" /> <DoubleAnimation Storyboard.TargetName="opacityAnimatedImage" Storyboard.TargetProperty="(Image.Opacity)" From="1" To="0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" /> <DoubleAnimation Storyboard.TargetName="opacityAnimatedBrushButton" Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Opacity)" From="1" To="0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" /> <ColorAnimation Storyboard.TargetName="opacityAnimatedColorRectangle" Storyboard.TargetProperty="(Rectangle.Fill).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever"> <ColorAnimation.By> <Color ScA="-1.0" ScR="0.0" ScG="0.0" ScB="0.0" /> </ColorAnimation.By> </ColorAnimation> </Storyboard> </BeginStoryboard> </EventTrigger> </Page.Triggers>
一、FrameworkElement.Triggers --EventTrigger-RoutedEvent--BeginStorybordspa
<!-- Animates the width of the first button from 200 to 300. --> <EventTrigger RoutedEvent="Button.Click"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="myWidthAnimatedButton" Storyboard.TargetProperty="Width" From="200" To="300" Duration="0:0:3" /> </Storyboard> </BeginStoryboard> </EventTrigger> </Button.Triggers>
二、Style.Triggers--Tirgger-Property/Value--Trigger.EnterActions/ExitActions----BeginStorybord指针
<Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:1" /> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> <Trigger.ExitActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" To="0.25" Duration="0:0:1" /> </Storyboard> </BeginStoryboard> </Trigger.ExitActions> </Trigger> </Style.Triggers> </Style>
三、Style.Triggers--EventTrigger-RoutedEvent--EventTrigger.Actions--BeginStorybordcode
<!-- Animates the button's opacity on mouse over. --> <EventTrigger RoutedEvent="Button.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="(Button.Opacity)" From="1.0" To="0.5" Duration="0:0:0.5" AutoReverse="True" RepeatBehavior="Forever" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> <!-- Returns the button's opacity to 1 when the mouse leaves. --> <EventTrigger RoutedEvent="Button.MouseLeave"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="(Button.Opacity)" To="1" Duration="0:0:0.1" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> <!-- Changes the button's color when clicked. Notice that the animation can't target the SolidColorBrush used to paint the button's background directly. The brush must be accessed through the button's Background property. --> <EventTrigger RoutedEvent="Button.Click"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)" From="Orange" To="White" Duration="0:0:0.1" AutoReverse="True" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Style.Triggers> </Style>
四、ControlTemplate.Triggers--EventTrigger--BeginStorybord对象
<ControlTemplate.Triggers> <!-- Event Trigger Example --> <EventTrigger RoutedEvent="Border.MouseEnter" SourceName="innerBorder"> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetName="innerBorderBackgroundBrush" Storyboard.TargetProperty="Color" From="White" To="#CCCCFF" Duration="0:0:3" AutoReverse="True" /> </Storyboard> </BeginStoryboard> </EventTrigger> <!-- Property Trigger Example --> <Trigger Property="IsMouseOver" Value="True" SourceName="contentPanel"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetName="contentPanelBrush" Storyboard.TargetProperty="Color" To="Purple" Duration="0:0:1" /> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> <Trigger.ExitActions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetName="contentPanelBrush" Storyboard.TargetProperty="Color" To="White" Duration="0:0:1" /> </Storyboard> </BeginStoryboard> </Trigger.ExitActions> </Trigger> </ControlTemplate.Triggers> </ControlTemplate>
五、Styel.Triggers--DataTrigger-Binding/Value--DataTrigger.EnterActions/ExitActions--BeginStorybord事件
<Style.Triggers> <DataTrigger Binding="{Binding XPath=@Stock}" Value="out"> <DataTrigger.EnterActions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.25" To="0.5" Duration="0:0:1" RepeatBehavior="Forever" AutoReverse="True"/> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <BeginStoryboard> <Storyboard FillBehavior="Stop"> <DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:1" /> </Storyboard> </BeginStoryboard> </DataTrigger.ExitActions> </DataTrigger> </Style.Triggers>
扩展:ip
TriggerBase 类:表示用于在 Style 对象内指定条件值的基类。ci
Trigger 类:表示一个触发器,它按条件应用属性值或执行操做。资源
MultiTrigger 类:表示在知足一组条件时应用属性值或执行操做的触发器。路由
EventTrigger 类:表示为响应事件而应用一组操做的触发器。
DataTrigger 类:表示一个触发器,它会在绑定数据知足指定条件时应用属性值或执行操做。
MultiDataTrigger 类:表示一个触发器,它会在绑定数据知足一组条件时应用属性值或执行操做。
EventSetter 类:表示样式中的事件资源库。 事件资源库调用指定的事件处理程序来响应事件。