Question Projet "Bataille navale"...
- Bruno95
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 72
- Remerciements reçus 2
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>
<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.
- Bruno95
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 72
- Remerciements reçus 2
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...
"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.
- Bruno95
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 72
- Remerciements reçus 2
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.
- Bruno95
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 72
- Remerciements reçus 2
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
Si c'est le cas, c'est page 183.
Bruno
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 142
- Remerciements reçus 21
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.
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.
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Bruno95
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 72
- Remerciements reçus 2
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.
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
- Vous êtes ici :
- Accueil
- forum
- Le bistrot
- Discussions de comptoir
- Projet "Bataille navale"...