Comme d'hab ça va être un peu difficile de se mettre en situation mais je pense que nous devrions y arriver.
Je vous explique en gros mon soucis
Mon écran se lance j'ai 3 boutons qui sont centrer dans un stack panel, sur le click de l'un d'eux je lance mon animation pour qu'il vienne se nicher en haut a gauche. mais du coup quoi que je fasse soit ça saccade ( en utilisant les placements des grid.column ) soit ça marche mais la transformation se fait d'un seul coup ( en changeant l'orientation et l'alignement de mon stackpanel ) alors que moi je veux une animation visible en douceur. J'ai regarder un peu partout y compris du coté des Rotate Matrix.
Le code ( + bas le code de l'animation )
Et ici l'animation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 <Grid Grid.ColumnSpan="3" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <StackPanel HorizontalAlignment="Center" Margin="0,0,0,0" x:Name="grid" VerticalAlignment="Center" Visibility="Visible" d:LayoutOverrides="Width" Orientation="Horizontal"> <Button x:Name="button" Style="{DynamicResource btn_creer_tier}" Content="Creer un contact" RenderTransformOrigin="0.5,0.5" FontSize="14" IsEnabled="True" IsDefault="True" Width="270" Height="154"> <Button.RenderTransform> <TransformGroup> <ScaleTransform ScaleX="1" ScaleY="1"/> <SkewTransform AngleX="0" AngleY="0"/> <RotateTransform Angle="0"/> <TranslateTransform X="0" Y="0"/> </TransformGroup> </Button.RenderTransform> </Button> <Button Style="{DynamicResource btn_consulter_tier}" Content="Consulter les contacts" x:Name="button1" RenderTransformOrigin="0.5,0.5" FontSize="14" IsEnabled="True" IsDefault="True" Width="270" Height="154"> <Button.RenderTransform> <TransformGroup> <ScaleTransform ScaleX="1" ScaleY="1"/> <SkewTransform AngleX="0" AngleY="0"/> <RotateTransform Angle="0"/> <TranslateTransform X="0" Y="0"/> </TransformGroup> </Button.RenderTransform> </Button> <Button Style="{DynamicResource btn_modifier_tier}" Content="Modifier un contact" RenderTransformOrigin="0.5,0.5" x:Name="button2" FontSize="14" IsDefault="True" Width="270" Height="154"> <Button.RenderTransform> <TransformGroup> <ScaleTransform ScaleX="1" ScaleY="1"/> <SkewTransform AngleX="0" AngleY="0"/> <RotateTransform Angle="0"/> <TranslateTransform X="0" Y="0"/> </TransformGroup> </Button.RenderTransform> </Button> <Button Style="{DynamicResource btn_valider_form}" Content="Enregistrer contacts" x:Name="button1_Copy" RenderTransformOrigin="0.5,0.5" FontSize="14" IsEnabled="True" IsDefault="False" Width="270" Visibility="Collapsed" Height="154"> <Button.RenderTransform> <TransformGroup> <ScaleTransform ScaleX="1" ScaleY="1"/> <SkewTransform AngleX="0" AngleY="0"/> <RotateTransform Angle="0"/> <TranslateTransform X="0" Y="0"/> </TransformGroup> </Button.RenderTransform> </Button> </StackPanel> </Grid>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <Storyboard x:Key="anim_creer"> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="grid" Storyboard.TargetProperty="(FrameworkElement.HorizontalAlignment)"> <DiscreteObjectKeyFrame KeyTime="00:00:00.5000000" Value="{x:Static HorizontalAlignment.Left}"/> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="grid" Storyboard.TargetProperty="(StackPanel.Orientation)"> <DiscreteObjectKeyFrame KeyTime="00:00:00.5000000" Value="{x:Static Orientation.Vertical}"/> </ObjectAnimationUsingKeyFrames> </Storyboard>
Partager