Como animar um pop-up
Este exemplo mostra duas maneiras de animar um controle de Popup.
Exemplo
O exemplo a seguir define a propriedade PopupAnimation com um valor de Slide, o que faz com que o Popup deslize quando aparece.
Para girar o Popup, este exemplo atribui um RotateTransform à propriedade RenderTransform do Canvas, que é um elemento filho do Popup.
Para que a transformação funcione corretamente, o exemplo deve definir a propriedade AllowsTransparency como true
. Além disso, o Margin no conteúdo do Canvas deve especificar espaço suficiente para o Popup girar.
<Popup IsOpen="{Binding ElementName=myCheckBox,Path=IsChecked}"
PlacementTarget="{Binding ElementName=myCheckBox}"
AllowsTransparency="True"
PopupAnimation="Slide"
HorizontalOffset="50"
VerticalOffset="50"
>
<!--The Margin set on the Canvas provides the additional
area around the Popup so that the Popup is visible when
it rotates.-->
<Canvas Width="100" Height="100" Background="DarkBlue"
Margin="150">
<Canvas.RenderTransform>
<RotateTransform x:Name="theTransform" />
</Canvas.RenderTransform>
<TextBlock TextWrapping="Wrap" Foreground="White">
Rotating Popup
</TextBlock>
</Canvas>
</Popup>
O exemplo a seguir mostra como um evento Click, que ocorre quando um Button é clicado, dispara o Storyboard que inicia a animação.
<Button HorizontalAlignment="Left" Width="200" Margin="20,10,0,0">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="theTransform"
Storyboard.TargetProperty="(RotateTransform.Angle)"
From="0" To="360" Duration="0:0:5" AutoReverse="True"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
Click to see the Popup animate
</Button>
Consulte também
- RenderTransform
- BulletDecorator
- RotateTransform
- Storyboard
- Popup
- tópicos de instruções
- Visão geral do pop-up
.NET Desktop feedback