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

Silverlight Discussion :

[2.0]Ajouter un controle au runtime et le retrouver !


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2003
    Messages : 127
    Par défaut [2.0]Ajouter un controle au runtime et le retrouver !
    Bonjour j'ai ajouter un UserControl au runtime et je ne trouve pas de solution élégante pour le retrouver.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UCOne UC = new UCOne();
    LayoutRoot.Children.Add(UC);
    je n'arrive pas à retourver ce control dans un évènement de ma page.

    enfin si j'y arrive mais c'est très moche :
    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
     
     
    private List<string> LayoutElements = new List<string>();
     
    public Page()
    {
    	InitializeComponent();
                 UCOne UC = new UCOne();
                 LayoutRoot.Children.Add(UC);
                 LayoutElements.Add((LayoutRoot.Children.Count-1).ToString());
    }
     
    void RefindControl()
    {
    foreach (string LayoutElement in LayoutElements)
    {				
    	UCOne MesControles = ((UCOne)LayoutRoot.Children[int.Parse(LayoutElement)]);
    }
    }
    est-ce qu'une vrai solution existe ?

    merci d'avance.
    Cordialement.
    ALCINA

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Tu peux te faire une méthode récursive (et générique dans l'idéal) qui prenne en paramètre un nom et un type de controle.

    Dans cette méthode, tu fais un foreach sur LayoutRoot.Children et pour chaque élément, tu testes si le type correspond à celui passé en paramètre. Si oui, tu tests le nom et tu vois si ca correspond.

    C'est une idée comme ca: j'ai rien sous la main pour testé si y'a pas mieux mais en attendant, ca devrait faire l'affaire.

  3. #3
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    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
    private List<string> LayoutElements = new List<string>();
    private UCOne UC;
    public Page()
    {
    	InitializeComponent();
                 UC = new UCOne();
                 LayoutRoot.Children.Add(UC);
                 LayoutElements.Add((LayoutRoot.Children.Count-1).ToString());
    }
    
    void RefindControl()
    {
    foreach (string LayoutElement in LayoutElements)
    {				
    	UCOne MesControles = ((UCOne)LayoutRoot.Children[int.Parse(LayoutElement)]);
    }
    }
    je pense que ca peutetre propre et simple...

    bon apres si t a 5000 controle a ajoutr sans savoir ce que c'est ou combien il y en aura c'est mort

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Mouais, moi je continue de penser que ma technique est plus propre mais bon, après, c'est une question de point de vue

  5. #5
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    C'est clair que c'est mille fois plus simple d'attribuer un nom à ton contrôle et ensuite de recherche via ce nom.

  6. #6
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    vos avis m'étonne ...
    âpres tout quand on ajoute un Usercontrol coté XAML et qu'on lui donne un x:Name il ajoute un champ privé comme je l'ai fait manuellement

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/04/2011, 20h56
  2. [AC-2007] Ajouter un control au runtime
    Par dalkar69 dans le forum Runtime
    Réponses: 3
    Dernier message: 11/12/2009, 09h25
  3. TDBCtrlGrid ajout de controls
    Par AODRENN dans le forum Composants VCL
    Réponses: 6
    Dernier message: 01/09/2005, 09h38
  4. [VC++ 6.0] ajout de control dans l'IDE
    Par gargle dans le forum MFC
    Réponses: 7
    Dernier message: 25/08/2005, 09h33
  5. [VB.NET] Ajout de controles dynamiquement
    Par A77 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/04/2005, 09h00

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