Question Projet "Bataille navale"...

Plus d'informations
il y a 6 mois 3 semaines #34266 par Bruno95
Réponse de Bruno95 sur le sujet Projet "Bataille navale"...
Il voulait monter comment epurer le code suivant:

 <StackPanel Name="Intitule" Orientation="Vertical">
<Label Foreground="Blue" FontWeight="Bold" Width="80" Content="Nom d'ordinateur"/>
<Label Foreground="Blue" FontWeight="Bold" Width="80" Content="Utilisateur"/>
<Label Foreground="Blue" FontWeight="Bold" Width="80" Content="Ville"/>
<Label Foreground="Blue" FontWeight="Bold" Width="80" Content="Mail"/>
</StackPanel>

:-)
 

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 mois 3 semaines #34267 par Bruno95
Réponse de Bruno95 sur le sujet Projet "Bataille navale"...
Voila, exactement le texte de la page concernée du livre:

"Comme mentionné precedemment, l'un des avantages du StackPanel est de pouvoir appliquer la meme configuration a des controls enfants.
Ajoutons donc les attributs de chaque element a son StackPanel Parent.
Tous les attributs ne sont pas disponibles pour le StackPanel.
Les attributs Foreground et FontWeight, par exemple ne peuvent pas etre associés a un StackPanel.
Les attributs Margin et Width quant a eux peuvent etre utilisés sur des StackPanel.
Enlevons donc, tous les attributs Width="80" des controls Label inclus dans le StackPanel "Intitulé" et Ajoutons les directement a ce StackPanel..."

Voila pourquoi, il m'a semble comprendre, ce que j'ai compris...:-)
 

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 mois 3 semaines #34268 par Bruno95
Réponse de Bruno95 sur le sujet Projet "Bataille navale"...
Reflechis bien avant de repondre Fabien, c'est un MVP Microsoft qui a ecrit ces lignes...:-) :-) :-)

 

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 mois 3 semaines #34269 par Bruno95
Réponse de Bruno95 sur le sujet Projet "Bataille navale"...
Je viens de revoir ta fiche de membre, et je m'apercoi que tu dois avoir le livre WPF que je viens d'acheter, puisque tu parles de Damien Van Robaeys.
Si c'est le cas, c'est page 183.:-)


Bruno   

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 mois 2 semaines #34270 par Fabien
Réponse de Fabien sur le sujet Projet "Bataille navale"...
Salut Bruno,
J'ai réfléchis toute la nuit pour te répondre.

Il faut voir le StackPanel comme un espace de travail de forme géométrique.
Reprenons l'exemple du livre.
Si le StackPanel a une dimension de 50 de largeur, donc les objets (ici des Labels) qu'il va contenir ne peuvent pas dépasser cette taille en largeur, sinon ils ne seront pas visibles.
Suivant les propriétés du StackPanel, les objets contenus vont être contraint au dimension, ou à l'orientation du StackPanel.

Dans ton cas, si tu mets la propriété Width à 50 sur ton StackPanel, cela veut dire que ton StackPanel fait 50 de largeur, cela n'est pas suffisant pour tout afficher.
Hors, tu veux que chaque bouton fasse 50 de largeur.
C'est pour cela qu'il faut préciser la dimension de chaque bouton et non la dimension du StackPanel dans sa globalité.

Afin de mieux visualiser la partie graphique WPF, j'utilise Microsoft Visual Studio. Tu utilises quoi pour faire le XML ?
J'ai fait une capture d'écran si tu définis la largeur du StackPanel à 50 pour mieux comprendre.
Dans cet exemple, le StackPanel est de largeur 50, donc tous les objets qu'il contient doivent entrer dans cette largeur de 50.
Les dimensions des boutons sont donc ajustées de manière automatique pour qu'ils rentrent au mieux dans le StackPanel.

Dis-moi si cela est plus clair pour toi.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 mois 2 semaines #34272 par Bruno95
Réponse de Bruno95 sur le sujet Projet "Bataille navale"...
Bonsoir Maitre Fabien,

C'est clair, comme de l'eau de roche. Effectivement, lorsque je lancais mon script, sur la premiere ligne, il y avait 15 boutons dans une case (StackPanel) de 50.
On va voir si j'ai bien assimilé...Donc si je laisse mon Width sur le StackPanel et que je met sa valeur a 750 (15 boutons de 50), ca marche ?

Bruno.
  

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.132 secondes
Propulsé par Kunena