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 :

Ajouter dynamiquement un composant dans un panel ou une popup


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 143
    Points : 59
    Points
    59
    Par défaut Ajouter dynamiquement un composant dans un panel ou une popup
    Bonjour,
    je débute en WPF et j'ai pas mal cherché avant de poster ce message sans jamais trouver de réponse.
    J'ai un ResourceDictionary qui contient deux Styles pour TreeView.
    A l'ouverture de l'application je crée un TreeView que je rempli à partir d'un fichier XML et je lui affecte un style.
    Voici mon problème:
    J'aimerais ajouter mon TreeView au DockPanel de ma fenêtre principale, comment faire?
    Autre point que je n'arrive pas à solder, j'ai un bouton qui me permet de changer de style, dans ce cas il faudrait que mon TreeView s'affiche dans une popup.

    Merci d'avance pour votre aide

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Utilise ce code pour placer ton controle:

    tonControl.SetValue(DockPanel.DockProperty, Dock.Bottom);

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 143
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par Thomas Lebrun Voir le message
    Utilise ce code pour placer ton controle:

    tonControl.SetValue(DockPanel.DockProperty, Dock.Bottom);
    Merci pour ce code mais il me reste un problème, comment faire pour que mon TreeView personnalisé s'affiche dans mon dock panel dpNew ou alors dans celui que j'ai nommé dpOld?
    Parce qu'ici on ne spécifie pas le container.

    Merci pour votre aide

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 143
    Points : 59
    Points
    59
    Par défaut
    Je vais essayer de meiux m'expliquer:

    Dans mon XAML je déclare deux DockPanel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <DockPanel x:Name="dpOldMainMenu"/>
            <Button Width="100" Height="40"  Content="Change Template"  x:Name="bChangeTemplate" Click="bChangeTemplate_Click" Grid.Row="1" Grid.Column="1"/>
            <Popup x:Name="pMainMenu" Grid.Row="1">
                <DockPanel x:Name="dpPopupMainMenu"/>
            </Popup>
    Dans mon code je crée un TreeView que je nomme tvLudo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private TreeView tvLudo = new TreeView();
    J'ai un bouton qui permet de changer de style en utilisant le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tvLudo.Style = rdResources["MenuOld"] as Style;
    Cela fonctionne, je l'ai testé en déclarant mon TreeView dans le XAML.

    Mon problème est de définir le container de mon TreeView à sa création mais aussi dynamiquement lors du clique sur le bouton qui permet de changer de style.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 143
    Points : 59
    Points
    59
    Par défaut
    Merci pour tout, j'ai fini par trouver la solution à mon problème, il me suffisait d'utiliser ces lignes de façon a afficher mon TreeView dans l'un ou l'autre de mes Panels:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dpOldMainMenu.Children.Add(tvLudo);
    dpOldMainMenu.Children.Remove(tvLudo);
    A bientôt pour d'autres questions sur le TreeView!!!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/04/2015, 13h25
  2. Réponses: 6
    Dernier message: 04/01/2011, 10h07
  3. [D2010] Ajout dynamique de composant dans un TGridPanel
    Par Djelangelo dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/12/2010, 16h49
  4. Ajout dynamique de label dans un panel avec scrollbar
    Par teddy_bear dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 25/06/2009, 16h48
  5. [C#] Ajouter son propre composant dans Design de VS.Net
    Par yannick_sch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/08/2004, 11h14

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