bonjour j'ai un datatemplate sur un listboxitem
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
       <DataTemplate x:Key="DetailedTemplate">
        	<DataTemplate.Resources>
        		<Storyboard x:Key="Storyboard1">
        			<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
        				<SplineDoubleKeyFrame KeyTime="00:00:00.1500000" Value="1.1"/>
        			</DoubleAnimationUsingKeyFrames>
        			<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
        				<SplineDoubleKeyFrame KeyTime="00:00:00.1500000" Value="1.1"/>
        			</DoubleAnimationUsingKeyFrames>
        		</Storyboard>
        		<Storyboard x:Key="Storyboard_Copy1">
        			<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
        				<SplineDoubleKeyFrame KeyTime="00:00:00.1500000" Value="1"/>
        			</DoubleAnimationUsingKeyFrames>
        			<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
        				<SplineDoubleKeyFrame KeyTime="00:00:00.1500000" Value="1"/>
        			</DoubleAnimationUsingKeyFrames>
        		</Storyboard>
        	</DataTemplate.Resources>
            <Border Margin="3" BorderThickness="2" CornerRadius="5" RenderTransformOrigin="0.5,0.5" x:Name="border"                    
                    >
            	<Border.RenderTransform>
            		<TransformGroup>
            			<ScaleTransform ScaleX="1" ScaleY="1"/>
            			<SkewTransform AngleX="0" AngleY="0"/>
            			<RotateTransform Angle="0"/>
            			<TranslateTransform X="0" Y="0"/>
            		</TransformGroup>
            	</Border.RenderTransform>            	
            	<Border.BorderBrush>
            		<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            			<GradientStop Color="#FF000000" Offset="0"/>
            			<GradientStop Color="#FFFFFFFF" Offset="1"/>
            		</LinearGradientBrush>
            	</Border.BorderBrush>
            	<Border.Background>
            		<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            			<GradientStop Color="#FF767676" Offset="1"/>
            			<GradientStop Color="#FFFFFFFF" Offset="0"/>
            		</LinearGradientBrush>
            	</Border.Background>
                <StackPanel Orientation="Horizontal" x:Name="stackPanel">
                    <StackPanel.Style>
                        <Style>
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding Path=IsSelected, 
                                    RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}}}"
                                    Value="True">
                                    <!-- ok pour changer des info d'un element -->
                                    <!--<Setter Property="Border.Background" Value="#FFFFFFFF" />-->
                                    <!-- test demarrage d'un storyboard-->
                                    <DataTrigger.EnterActions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <ThicknessAnimation BeginTime="0:0:0.0" Duration="0:0:1.5" To="75"
                                                    Storyboard.TargetProperty="Margin" />      
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </DataTrigger.EnterActions>
                                </DataTrigger>
                                <DataTrigger Binding="{Binding Path=IsSelected, 
                                    RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}}}"
                                    Value="False">
                                    <DataTrigger.EnterActions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <ThicknessAnimation BeginTime="0:0:0.0" Duration="0:0:1.5" To="0"
                                                    Storyboard.TargetProperty="Margin" />
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </DataTrigger.EnterActions>
                                </DataTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                    <Image Margin="10" Width="50" Height="50" Stretch="Fill" Source="{Binding Image}" RenderTransformOrigin="0.5,0.5" x:Name="image">
                    	<Image.RenderTransform>
                    		<TransformGroup>
                    			<ScaleTransform ScaleX="1" ScaleY="1"/>
                    			<SkewTransform AngleX="0" AngleY="0"/>
                    			<RotateTransform Angle="0"/>
                    			<TranslateTransform X="0" Y="0"/>
                    		</TransformGroup>
                    	</Image.RenderTransform>
                        <Image.BitmapEffect>
                            <DropShadowBitmapEffect />
                        </Image.BitmapEffect>
                    </Image>
                    <StackPanel Orientation="Vertical" VerticalAlignment="Center">
                        <TextBlock Foreground="Goldenrod" Text="{Binding Nom}" />
                        <TextBlock Foreground="Goldenrod" Text="{Binding Prenom}" />
                    </StackPanel>
                    
                </StackPanel>
            </Border>
        	<DataTemplate.Triggers>
        		<EventTrigger RoutedEvent="Mouse.MouseEnter">
        			<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
        		</EventTrigger>
        		<EventTrigger RoutedEvent="Mouse.MouseLeave">
        			<BeginStoryboard Storyboard="{StaticResource Storyboard_Copy1}" x:Name="Storyboard_Copy1_BeginStoryboard"/>
        		</EventTrigger>
        	</DataTemplate.Triggers>        	
        </DataTemplate>
je n'arrive pas a faire en sorte qu'il y ait une animation quand je sélectionne l'item (déplacement du margin left) et inversement