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 :

Ajout d'éléments C# à une UI WPF


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Points : 66
    Points
    66
    Par défaut Ajout d'éléments C# à une UI WPF
    Bonjour,

    J'ai une interface graphique en WPF qui se charge correctement, après avoir cliquer sur un bouton je souhaiterai ajouter une progressBar.
    Mon problème se trouve au moment de l'ajout à la fenêtre courante.
    J'ai l'exception suivante :

    "Le contenu d'un ContentControl doit être un élément unique."
    Voici le code :

    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
     
    using System.Windows.Forms;
     
      private void buttonConnect_Click(object sender, RoutedEventArgs e)
            {
                    ...........
                    ProgressBar progressBar = new ProgressBar();
                    progressBar.Location = new System.Drawing.Point(179, 100);
                    progressBar.Size = new System.Drawing.Size(50, 10);
                    progressBar.Visible = true;
                    progressBar.Minimum = 0;
                    progressBar.Maximum = 100;
                    progressBar.Step = 10;
                    progressBar.Value = progressBar.Minimum;
                    this.AddChild(progressBar);
                    ...........
            }
    Une autre question qui n'est pas forcément en rapport direct, peux-t-on surcharger la méthode InitializeComponent appeler dans le constructeur de la fenêtre?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    this.AddChild signifie que tu ajoutes ta barre à la fenêtre, or ta fenêtre a déjà une Grid (ou un autre composant) comme Content et elle ne supporte qu'un seul content. Il faudrait que tu ajoutes ta barre à une grille fille de ta mère.

    Cela dit, c'est pas top de faire du wpf comme ca, à la Winform Style

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 115
    Points : 66
    Points
    66
    Par défaut
    Ah merci j'avais pas fait le rapprochement!

    Oui je suis d'accord c'est pas top le Winform Style mais je ne vois pas comment faire autrement!Si tu as une proposition je ne suis pas contre :-)

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    A noter aussi que tu utilises la ProgressBar de WindowsForm... et pas celle de WPF.

    Le namespace des contrôles WPF est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.Controls
    présent dans l'assembly PresentationFramework.

    Exemple d'utilisation de la progressBar ici :
    http://msdn.microsoft.com/en-us/libr...ogressbar.aspx

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 69
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par PitMaverick78 Voir le message
    this.AddChild signifie que tu ajoutes ta barre à la fenêtre, or ta fenêtre a déjà une Grid (ou un autre composant) comme Content et elle ne supporte qu'un seul content. Il faudrait que tu ajoutes ta barre à une grille fille de ta mère.

    Cela dit, c'est pas top de faire du wpf comme ca, à la Winform Style
    Juste par curiosité, c'est quoi ce que tu appelles le "Winform Style" ? C'est d'ajouter des éléments sans passer par Xaml ou simplement d'utiliser des contrôles Winform ?

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 118
    Points : 102
    Points
    102
    Par défaut
    Je pense que c'est le fait de configurer et d'ajouter ta progressbar en code-behind.

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

Discussions similaires

  1. Ajouter des éléments dans une base de données Access
    Par bidule123456 dans le forum ASP
    Réponses: 74
    Dernier message: 07/09/2007, 14h00
  2. Réponses: 8
    Dernier message: 27/04/2007, 14h07
  3. Réponses: 12
    Dernier message: 12/03/2007, 16h58
  4. Correction pour ajouté un élément dans une liste
    Par Rifton007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2007, 11h09
  5. ajouter un élément dans une liste
    Par Le Mérovingien dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 02/07/2006, 17h43

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