Bonjour. Mon problème est le suivant:
J'utilise un storyboard qui fait "grossir" mon canvas. Donc en faite il l'étend (avec donc ses children). Cela se fait en cliquant sur le Canvas. J'ai ajouté une croix qui appelle la fonction Retour, qui consiste a remettre le Canvas a sa taille original. Cependant cela ne marche qu'une fois. Apres si je reclick sur le Canvas il ne se passe rien.
Voila le code du Canvas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<Canvas   x:Name="Canvas2" Visibility="Visible" RenderTransformOrigin="0.5,0.5" Width="280" Height="140" Canvas.Top="348" MouseLeftButtonDown="comence2" Canvas.ZIndex="1">
La fonction appelle pour grossir:
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
private void comence2(object sender, RoutedEventArgs e)
		{
			if(a2==1){ 
 
				SelectedItem.Content+=" juste avant grossissement"+"   ";
				Grossissement2.Begin();
				SelectedItem.Content+="\n juste apres grossissement ";
 
				a2=0;
				b2=1;
					string title="";
					string id="";
					int logosrc=xmlData3.IndexOf("<logo>");
					int finlogosrc=xmlData3.IndexOf("</logo>");
					string logoSrcString=xmlData3.Substring(logosrc,finlogosrc-logosrc);
					logoSrcString=logoSrcString.Replace("<logo>", "");;
					BitmapImage logoSourceUri= new BitmapImage();
					logoSourceUri.UriSource = new Uri(logoSrcString);
					logo.Source=logoSourceUri;
 
					int debutoffre=xmlData3.IndexOf("<offre>");
					int finoffre=xmlData3.IndexOf("</offre>");
					string offretexte=xmlData3.Substring(debutoffre,finoffre-debutoffre);
					offretexte=offretexte.Replace("<offre>", "");offretexte=offretexte.Replace("</offre>", "");	
					offre.Text=offretexte;
					offre.Visibility=Visibility.Visible;
 
					for(int i=1;i<8;i++){
					int nbrtitle=xmlData3.IndexOf("<title_"+i+">");
					int nbrfintitle=xmlData3.IndexOf("</title_"+i+">");
					int nbrid=xmlData3.IndexOf("<id_"+i+">");
					int nbrfinid=xmlData3.IndexOf("</id_"+i+">");
					title=xmlData3.Substring(nbrtitle, nbrfintitle-nbrtitle);
					id=xmlData3.Substring(nbrid,nbrfinid-nbrid);
					title=title.Replace("<title_"+i+">", "");title=title.Replace("</title_"+i+">", "");
					id=id.Replace("<id_"+i+">", "");id=id.Replace("</id_"+i+">", "");
					switch (i)
						{
							case 1: 
								if(id==""){famille1.Visibility=Visibility.Collapsed;}
								else {famille1.Name=id;famille1.Text=title;famille1.Visibility=Visibility.Visible;}
								break;
							case 2:
								if(id==""){famille2.Visibility=Visibility.Collapsed;}
								else {famille2.Name=id;famille2.Text=title;famille2.Visibility=Visibility.Visible;}
								break;
							case 3:
								if(id==""){famille3.Visibility=Visibility.Collapsed;}
								else {famille3.Name=id;famille3.Text=title;famille3.Visibility=Visibility.Visible;}
								break;
							case 4:
								if(id==""){famille4.Visibility=Visibility.Collapsed;}
								else {famille4.Name=id;famille4.Text=title;famille4.Visibility=Visibility.Visible;}
								break;
							default:
								SelectedItem.Content="error";
								break;
						}SelectedItem.Content+=" sors du switch "+"\n";
					}
				}
 
			if(a2==0 && b2==0){
					Canvas clickcanvas =(Canvas)sender; 
					LoadFamille(clickcanvas.Name);
					SelectedItem.Content+="dans if avec a2=0.";
					Move2.Begin();
					Canvas1.SetValue(Canvas.ZIndexProperty,0);
					Canvas2.SetValue(Canvas.ZIndexProperty,1);
					Canvas3.SetValue(Canvas.ZIndexProperty,0);
					a2=1;
					}
			SelectedItem.Content+=" Sorti de if, valeur de a2="+a2.ToString();
			a3=0;a1=0;c1=0;c3=0;
			}
Et la fonction retour:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
		private void retour2(object sender, RoutedEventArgs e)
		{
			SelectedItem.Content+=" debut retour2"+"\n";
			MoveRetour2.Begin();
			flechedroite.Visibility=Visibility.Collapsed;
			flechegauche.Visibility=Visibility.Collapsed;
			a3=0;a1=0;c1=0;c3=0;a2=0;b2=0;
			SelectedItem.Content+=" fin retour2"+"\n";
		}
J'ai pu trouve ce qui fais buger. C'est dans le fonction comence2 l'appel de LoadFamille(). Enfaite cela va cherche un fichier xml. Avec ce fichier xml je fais ma petite sauce et fais donc apparaitre son contenu dans des listbox. Si j'enleve ce LoadFamille(), le Canvas grossis et retrecis autant de fois que l'on veux. Il ne bloque pas apres une utilisation.
Si vous avez une idée pour enleve ce bug... Parce que je suis dessus depuis quelque temps deja...
Merci d'avance