IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Parcours des Grid avec un foreach


Sujet :

Windows Presentation Foundation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Parcours des Grid avec un foreach
    Bonjour,

    Je suis un grand débutant en XAML, donc soyez indulgents sur mon code.

    Je suis en train de faire l'interface graphique d'un jeu d'échec. Lors de la suppression d'une pièce (donc dans mon code un Grid contenu dans un Canvas), j'ai besoin de parcourir tout les grid à la recherche de celui dont les coordonnées correspondent aux coordonnées de la case sur laquelle se trouve la pièce.

    J'aurai aimé pouvoir faire quelquechose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach(Canvas c in MainGrid) // MainGrid est le Grid principal
    {
         //code
    }
    Mais Visual Studio m'annonce une erreur comme quoi la classe Grid ne contient pas de définition publique pour IEnumerator.

    Pour information la structure de mon XAML est comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <Grid Name="MainGrid" Height="410" Width="410" Margin="234,26">
         <Image source="C:\Users\name\Pictures\board.jpg"/>
     
         // Une pièce
         <Canvas Width="40" Height="40" Name="unking">
              <Grid AllowDrop="True" Canvas.Left="-150" Canvas.Top="-350" Width="40" Height="40">
                   <Image Source="C:\...\wking.bmp"/>
              </Grid>
         </Canvas>
     
         // Les autres pièces à la suite déclarées de la même facon
    </Grid>
    J'ai vu sur ce forum, un sujet qui aurait pu m'intéresser pour parcourir un arbre XAML et en fonction du type d'élément faire une action (ici tester si c'est un Canvas, et, si le Canvas est bien celui que je cherche, faire les modifications nécessaires), mais je ne sais pas comment l'utiliser. Voici le lien :

    http://www.developpez.net/forums/d57...rs-arbre-xaml/


    Vu sous un autre angle mon problème pourrait se résumer à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
     foreach(Canvas c in /* Que mettre ici ? */)
          {
               if (c.GetType()==typeof(Canvas))
               {
                    MessageBox.Show(c.GetType().ToString());
               }
          }


    S'il existe une solution simple, je suis preneur.
    Si vous avez besoin de plus de détails n'hésitez pas.

    Cordialement,

    Christophe

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach(FrameworkElement fe in MainGrid.Children)
          {
               if (fe.GetType()==typeof(Canvas))
               {
                    MessageBox.Show(fe.GetType().ToString());
               }
          }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup et bravo pour ce forum !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parcours des listes avec iterateurs
    Par ahmadou_20 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 09/09/2014, 09h29
  2. parcours des donnees avec un datareader
    Par olibara dans le forum C#
    Réponses: 10
    Dernier message: 12/10/2011, 15h57
  3. [2008] Noms des différents répertoires avec un Foreach
    Par programmeur_objet dans le forum SSIS
    Réponses: 1
    Dernier message: 08/04/2011, 14h04
  4. [WPF] remplir une grid avec des strings
    Par Seals dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 21/03/2011, 10h37
  5. [SimpleXML] XML et parcours des noeuds avec foreach
    Par kult dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 15/11/2005, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo