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 :

Atteindre un controle via une string


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut Atteindre un controle via une string
    Salut tout le monde.

    J'ai dans mon appli wpf plusieurs label que j'ai nommés: label1,label2,label3,label4... Je voudrais atteindre chacun d'eux à travers une string contenant son nom. J'ai osé en essayant ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim nom As String = "label"
            Dim i, nbreDeLabel As Integer
            nbreDeLabel = 10
            For i = 1 To nbreDeLabel
                Dim k As String = nom & CStr(i)
                Dim lbl As Label = DirectCast(nom & CStr(i), Label)
            Next
    Qui renvoie l'erreur (faut dire que je m'y attendais quand même)
    Impossible de convertir une valeur de type 'String' en 'System.Windows.Controls.Label'.
    Je suis donc à la recherche d'un moyen d'atteindre mes labels à travers des string .

    Merci d'avance.

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Salut,

    Je ne suis pas sur de bien comprendre, je propose néanmoins ceci (en C# encore une fois désolé):

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    string mon_label = "nom";
    foreach (ContentControl o in this.mon_grid.Children)
    {
        if (o is Label)
        {
            if (o.Name == mon_label)
            { 
                o.Content = "Hé voila je viens de modifier le label de mon choix";  
            }
        }
    }

    Donc la je suppose que tu cherche à atteindre le label et une fois atteint tu souhaite modifier une propriété de ce label.

  3. #3
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Peut-être via la méthode "FindName" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FindName(nom & CStr(i)) as Label

  4. #4
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut
    Oui avec FindName ça marche, merci.

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

Discussions similaires

  1. Acces à un control via une class perso
    Par parabole33 dans le forum C#
    Réponses: 15
    Dernier message: 27/07/2009, 11h03
  2. [AC-2003] Atteindre un enregistrement via une zone de texte
    Par Eshen dans le forum IHM
    Réponses: 2
    Dernier message: 06/05/2009, 14h29
  3. accès balise xml via une string
    Par armelleV dans le forum Flex
    Réponses: 0
    Dernier message: 26/03/2009, 10h17
  4. Réponses: 9
    Dernier message: 25/02/2007, 13h46
  5. Mise à jour d'une controle via une classe.
    Par Andry dans le forum Delphi
    Réponses: 4
    Dernier message: 23/06/2006, 15h00

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