<StackPanel> <StackPanel.Resources> <Storyboard x:Name="myStoryboard"> <!-- Animate shadow depth of the effect. --> <DoubleAnimation Storyboard.TargetName="myDropShadowEffect" Storyboard.TargetProperty="ShadowDepth" To="30" Duration="0:0:0.5" AutoReverse="True" /> <!-- Animate shadow BlurRadius of the effect. As the Button appears to get farther from the shadow, the shadow blurs. --> <DoubleAnimation Storyboard.TargetName="myDropShadowEffect" Storyboard.TargetProperty="BlurRadius" To="10" Duration="0:0:0.5" AutoReverse="True" /> <!-- Animate ScaleX of button. --> <DoubleAnimation Storyboard.TargetName="myScaleTransform" Storyboard.TargetProperty="ScaleX" To="1.5" Duration="0:0:0.5" AutoReverse="True" /> <!-- Animate ScaleY of button. --> <DoubleAnimation Storyboard.TargetName="myScaleTransform" Storyboard.TargetProperty="ScaleY" To="1.5" Duration="0:0:0.5" AutoReverse="True" /> <!-- Move button in the X direction. --> <DoubleAnimation Storyboard.TargetName="myTranslateTransform" Storyboard.TargetProperty="X" To="-30" Duration="0:0:0.5" AutoReverse="True" /> <!-- Move button in the Y direction. --> <DoubleAnimation Storyboard.TargetName="myTranslateTransform" Storyboard.TargetProperty="Y" To="-30" Duration="0:0:0.5" AutoReverse="True" /> </Storyboard> </StackPanel.Resources> <Button Content="Click!" Click="StartAnimation" Width="200" Margin="60"> <Button.Effect> <DropShadowEffect x:Name="myDropShadowEffect" /> </Button.Effect> <Button.RenderTransform> <TransformGroup> <TranslateTransform x:Name="myTranslateTransform" /> <ScaleTransform x:Name="myScaleTransform" /> </TransformGroup> </Button.RenderTransform> </Button> </StackPanel> C# 代码 private void StartAnimation(object sender, RoutedEventArgs args) { myStoryboard.Begin(); }