Comment : animer un Popup
Cet exemple montre deux façons d’animer un Popup contrôle.
Exemple
L’exemple suivant définit la PopupAnimation propriété sur une valeur de Slide, ce qui entraîne la Popup « diapositive » lorsqu’elle apparaît.
Pour faire pivoter le Popup, cet exemple affecte une RotateTransform à la RenderTransform propriété sur le Canvas, qui est l’élément enfant de l’objet Popup.
Pour que la transformation fonctionne correctement, l’exemple doit définir la AllowsTransparency propriété true
sur . En outre, le MarginCanvas contenu doit spécifier suffisamment d’espace pour la Popup rotation.
<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>
L’exemple suivant montre comment un Click événement, qui se produit lorsqu’un Button clic est effectué, déclenche l’animation Storyboard qui démarre.
<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>
Voir aussi
.NET Desktop feedback
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour