各元素不透明的屬性:
見代碼中各類動畫目標屬性的不透明度引用.動畫
<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 類:表示樣式中的事件資源庫。 事件資源庫調用指定的事件處理程序來響應事件。