Bonjour à tous,

Alors voilà mon soucis qui traine depuis 2 jours.
J'ai une image 600*400 centré sur ma page et 4 miniature en dessous.
Le click sur un miniature doit change la source de l'image du dessus.
De plus je souhaite une animation d'opacité entrante et sortante.

Voici mon début de code :
Xaml :
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
<Storyboard x:Name="ChangeZoneImage">
        	<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" 
                                           Storyboard.TargetName="ZoneImage1">
        		<EasingDoubleKeyFrame KeyTime="0" Value="1"/>
        		<EasingDoubleKeyFrame KeyTime="0:0:0.45" Value="0"/>
        		<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0"/>
        		<EasingDoubleKeyFrame KeyTime="0:0:0.95" Value="1"/>
        	</DoubleAnimationUsingKeyFrames>
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ZoneImage1" 
                                           Storyboard.TargetProperty="Source">
                <ObjectAnimationUsingKeyFrames.KeyFrames>
                    <DiscreteObjectKeyFrame KeyTime="0:0:0.48">
                        <DiscreteObjectKeyFrame.Value>
                            <BitmapImage x:Name="ZoneImageSource" UriSource="{Binding ElementName=Original, Path=Source}"/>
                        </DiscreteObjectKeyFrame.Value>
                    </DiscreteObjectKeyFrame>
                </ObjectAnimationUsingKeyFrames.KeyFrames>
            </ObjectAnimationUsingKeyFrames>
        </Storyboard>
 
[...]
 
<Image x:Name="ZoneImage1" 
	Width="600" 
	Height="450" 
	Margin="11,11,11,0" 
	HorizontalAlignment="Center" 
	VerticalAlignment="Center" 
	Stretch="Uniform" 
	Opacity="100" 
	MouseEnter="ZoneImage1_MouseEnter" 
	MouseLeave="ZoneImage1_MouseLeave" 
	Cursor="Arrow" Source="{Binding ElementName=Original, Path=Source}"/>
 
[...]
 
<Border x:Name="border0" 
	HorizontalAlignment="Left" 
	Height="48"
	Margin="11,17,0,0" 
	VerticalAlignment="Top" 
	Width="64"                 
	BorderThickness="1" 
	BorderBrush="Red" 
	RenderTransformOrigin="0,1" 
						MouseLeftButtonUp="border0_MouseLeftButtonUp">
 
	<Border.RenderTransform>
		<CompositeTransform/>
	</Border.RenderTransform>
 
	<Image x:Name="Original" Stretch="UniformToFill" RenderTransformOrigin="0.5,0.5"/>
Code Behind:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 private void border0_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            ZoneImageSource.UriSource = ((BitmapImage)Original.Source).UriSource;
        }

Et voici l'erreur retourner lorsqu'il y click !

La référence d'objet n'est pas définie à une instance d'un objet.

à Visionneuse_Catalogue.MainPage.border0_MouseLeftButtonUp(Object sender, MouseButtonEventArgs e)
à MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
à MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
J'avais réussi une première fois mais j'ai eu un plantage PC et j'ai donc perdu le code, mais je n'arrive pas à retrouver l'astuce !

Ps: je peux truander et mettre deux bloc image mais ce n'est pas le but de la manoeuvre

merci d'avance pour votre aide !