Bonsoir,
J'ai créé un CustomControl regroupant 3 TextBlocks dans un panel. J'y ai associé des propriétés avec getters / setters, et ce composant fonctionne bien. (Je peux y mettre les valeurs que je veux).
Maintenant, j'aimerai, depuis une fenêtre utilisant ce CustomControl, y ajouter un Trigger pour effectuer une animation.
Voilà comment je pensais procéder :
et là à la compilation il me sort cette erreur :
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 <uc:MonComposant NomText="abcd" PrenomText="efg" AgeText="20" Width="Auto" Height="50px" > <uc:MonComposant.RenderTransform> <TransformGroup> <RotateTransform x:Name="rotTransfo" Angle="45" CenterY="30"/> </TransformGroup> </uc:MonComposant.RenderTransform> <uc:MonComposant.Triggers> <EventTrigger RoutedEvent="UIElement.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="rotTransfo" Storyboard.TargetProperty="Angle" From="0.0" To="360" Duration="0:0:3" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </uc:MonComposant.Triggers> </uc:MonComposant>
Déjà je ne comprend pas vraiment cette erreur...Erreur de génération inconnue, « MC3093 : impossible de définir la valeur de l’attribut Name « rotTransfo » sur l’élément « RotateTransform ». « RotateTransform » se trouve sous la portée de l’élément « MonComposant », qui avait déjà un nom inscrit quand il a été défini dans une autre portée. Ligne 57 Position 38. »
Par contre si je fais ça :
là, ça fonctionne.
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 <ListBox FontSize="15" Canvas.Bottom="140" Canvas.Left="30" Canvas.Right="150" Canvas.Top="40"> <ListBoxItem IsSelected="True">Canada</ListBoxItem> <ListBoxItem>Spain</ListBoxItem> <ListBoxItem>France</ListBoxItem> <ListBoxItem>Allemagne</ListBoxItem> <ListBox.RenderTransform> <RotateTransform x:Name="rotTransfo" Angle="-20" CenterX="50" /> </ListBox.RenderTransform> <ListBox.Triggers> <EventTrigger RoutedEvent="UIElement.MouseEnter"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="rotTransfo" Storyboard.TargetProperty="Angle" From="0.0" To="360" Duration="0:0:3" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </ListBox.Triggers> </ListBox>
Comment faire pour que le trigger retrouve bien la propriété dans mon cas ?
Partager