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 :

Accéder à un UIElement à partir d'une classe externe


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 64
    Points : 66
    Points
    66
    Par défaut Accéder à un UIElement à partir d'une classe externe
    Bonjour à tous,

    voici mon problème :

    - J'ai une application WPF, dans celles-ci je génère des éléments (UIElement) à partir d'une classe externe.

    - j'ai un stackpanel (layoutroot) sur ma page windows.xaml que je peuple au démarrage de l'application grâce à une méthode de la classe externe (qui va renvoyer les UIElements).

    - Chaque UIElement (ici un canvas) contient d'autres éléments (checkbox, texte, bouton).

    le problème : à partir d'un UIElement (le bouton), je souhaite faire disparaitre complètement l'élément ou le bouton a été cliqué.

    Normalement quand on travaille directement dans le fichier windows.xaml.cs c'est facile il suffirait de faire un remove dans les children du layoutroot mais comme je travaille avec une classe externe, je n'y ai pas accès quand je clique sur le bouton de l'UIElement, ou alors je ne sais pas comment faire.

    Le problème est donc : comment faire comprendre au layoutroot que je veux supprimer un élément ?

    Il faut surement faire un delegate ou un événement, mais je ne manipule pas encore très bien ces choses-là.

    le code de window.xaml.cs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void Window1_Loaded(object sender, RoutedEventArgs e) 
    { 
    <div style="margin-left:40px">HostsHelper hh = new HostsHelper(); 
    foreach (UIElement item in hh.GetUIHosts())</div>{ 
    <div style="margin-left:40px">LayoutRoot.Children.Add(item);</div>} 
    }
    La méthode de la classe externe pour créer l'élément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    protected UIElement DrawInfos(HostInfos host) 
    { 
    <div style="margin-left:40px">...(les autres éléments) 
    Button btnDelete = new Button(); 
    btnDelete.Style = (Style)Application.Current.Resources["DeleteInfos"]; 
    btnDelete.Click += new RoutedEventHandler(delegate(object sender, RoutedEventArgs e) 
    <div style="margin-left:40px">{ 
    ??? <- Comment je peux faire comprendre au layoutroot qu'il doit supprimer un élément ou rebinder s'il clic sur le bouton? 
    });</div></div>}
    Merci d'avance.

  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
    Tu as essayé avec un evènement sur HostsHelper ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Et bien écoute, je suis très content parce que je viens de créer mon 1er event tout seul comme un grand et ca résout parfaitement mon problème.
    Comme quoi on apprend tous les jours !

    C'était déjà une grande aide de m'indiquer ou le mettre ^^

    Merci 1000 fois

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

Discussions similaires

  1. Parser un controle à partir d'une classe externe
    Par zooffy dans le forum ASP.NET
    Réponses: 17
    Dernier message: 31/03/2009, 12h07
  2. SetText d'un JTextField à partir d'une classe externe
    Par Zak Blayde dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 15/11/2008, 21h12
  3. Probleme affichage Clip addchild à partir d'une classe externe
    Par Niokizou dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 23/04/2008, 15h53
  4. Accèder les objets d'une form à partir d'une classe
    Par xyron_x dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/04/2007, 14h49
  5. Accéder à des objets d'une Form à partir d'une classe
    Par kinouseb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/01/2007, 18h07

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