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 :

mettre une listBox dans un formulaire (code behind)


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut mettre une listBox dans un formulaire (code behind)
    Bonjour,

    j'ai un formulaire que je crée ds le code behind (selection de date, liste deroulante) je souhaiterais mettre une listbox avec des element selectionnable (multiple).

    comment faire pour mettre cette listbox dans mon formulaire?

  2. #2
    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
    Tu crées ta ListBox et tu l'ajoutes... Où est-ce que tu bloques ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    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
    18
     
    public class Formulaire
    {
            [Display(Name = "Date début :", Description = "Saisir une date début: DD/MM/YYYY")]
            public DateTime DateDebut{ get; set; }
     
            [Display(Name = "Date fin :", Description = "Saisir une date de fin: DD/MM/YYYY")]
            public DateTime DateFin { get; set; }
     
            public ListBox listeboxfiltre { get; set; }
     
     
            public Formulaire(int year, int month, int day)
            {
                this.DateDebut = new DateTime(2010, 02, 01);//A SUP APRES  TEST
                this.DateFin = new DateTime(2010, 02, 28); //A SUP APRES  TEST
            }
        }
    j'ai tester des listeboxfiltre.item.add; j'ai tester listeboxfiltre.itemssource=list<string> .... je n'arrive pas a visualiser ma listebox correctement.

  4. #4
    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
    Hein ?

    Une ListBox dans un business object ?

    Est-ce que au moins tu ajoutes ta TextBox dans un containeur (Grid, StackPanel...) avant ?

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    alors en fait dans mon XAML de la page j'ai les balise formulaire.

    ensuite au chargement de la page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     //creation du formulaire
                DateTime today = DateTime.Now;
                int year = today.Year;
                int month = today.Month;
                int day = today.Day;
                Formulaire formulaire1 = new Formulaire(year, month, day);
                formulaire.CurrentItem = formulaire1;
    alors ça marche nikel pr les datetime et les liste déroulante. mais pas pr une listbox. (dnas le code , formulaire en minuscule represente le formulaire créé en xaml)

  6. #6
    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
    Tu dois redéfinir le template de ton DataForm pour prendre en compte ta ListBox et binder son ItemsSource sur ta collection. Mais pour ça tu dois d'abord enlever ta ListBox de ta classe Formulaire et la remplacer par une List<T> représentant les éléments que tu souhaites voir apparaitre dans ta ListBox.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    euh je n'ai pas tout compris.
    comment et pourquoi redefinir le template (les listbox sont bien prise en compte si on les met coté xaml...)

    je pensé que c'était lier à un mot clé spécial pour les listbox (comme typeterminal pour les liste déroulante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public TypeTerminal tri { get; set; }
            public enum TypeTerminal
            {
               nom
               prenom
            }
    )

  8. #8
    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
    Citation Envoyé par livinho38 Voir le message
    je pensé que c'était lier à un mot clé spécial pour les listbox (comme typeterminal pour les liste déroulante
    C'est pas une histoire de mot clé. TypeTerminal c'est un enum et le DataForm sait que lorsqu'il est bindé sur une propriété de type enum il doit afficher un DropDown.

    Pour ta ListBox je te dis que tu dois redéfinir le template pour la faire s'afficher.

    Tu as l'air de tout mélanger : contrôles, binding, template, business object...

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    En effet je suis un peu perdu la (merci de ton aide d'aileurs).

    je comprend pas ce qu'il y a a modifié reelmeent dans mon formulaire. en fait je comprend pas pkoi il faut aller toucher au template alors que de base il prend bien les listBox (formulaire créé précedement en xaml et les listbox fonctionnaient) et ensuite ba d'apres des tuto il falait créer une classe formulaire et creer un objet formulaire à entrer en paramatre du Formulaire du xaml.

  10. #10
    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
    Si tu expliquais ce que tu voulais faire et nous montrer ton code (C# et Xaml) déjà existant ça nous aiderait

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    Si tu expliquais ce que tu voulais faire et nous montrer ton code (C# et Xaml) déjà existant ça nous aiderait
    voici le code:

    Mapage.xaml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <dataFormToolkit:DataForm Margin="0,5,0,0" DescriptionViewerPosition="Auto" x:Name="formulaire" CommitButtonContent="Valider" 
                                Header="Faites votre sélection" AutoCommit="True" AutoEdit="true"  CommandButtonsVisibility="Commit"
                                ValidatingItem="formulaire_ValidatingItem"   HorizontalAlignment="Left" >
                            </dataFormToolkit:DataForm>
    Mapage.cs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     DateTime today = DateTime.Now;
                int year = today.Year;
                int month = today.Month;
                int day = today.Day;
                Formulaire formulaire1 = new Formulaire(year, month, day);
                formulaire.CurrentItem = formulaire1;
    Formulaire.cs:
    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
    20
    21
    22
     public class Formulaire
        {
            [Display(Name = "Trier par :")]
            public TypeTerminal tri { get; set; }
            public enum TypeTerminal
            {
                Nom,
                Date
            }
     
     
            [Display(Name = "Date début :", Description = "Saisir une date début: DD/MM/YYYY")]
            public DateTime DateDebut { get; set; }
            [Display(Name = "Date fin :", Description = "Saisir une date de fin: DD/MM/YYYY")]
            public DateTime DateFin { get; set; }
     
            public FormulaireTri(int year, int month, int day)
            {
                this.DateDebut = new DateTime(year, month - 1, day);
                this.DateFin = new DateTime(year, month, day);
            }
        }
    ceci fonctionnent bien.
    maintenan je souhaiterai simplement avoir une listbox multiselection en + dans mon formulaire afin d'avoir l'équivalent de ce qui marche quand on le cré en xaml (j'ai pas remis le detail des autres composant de mon formulaire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <dataFormToolkit:DataForm Margin="0,5,0,0" DescriptionViewerPosition="Auto" x:Name="formulaire" .... >
    <ListBox>****</ListBox>
    </dataFormToolkit:DataForm>
    en esperant avoir été plus clair

  12. #12
    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
    Et donc je te répète, il faut que tu modifies le template d'affichage de ton DataForm pour incorporer ta ListBox et la binder sur une propriété de ton objet Formulaire.

    Pour le moment tout s'affiche correctement puisque tu as seulement des propriétés simples (un enum et 2 datetimes) donc le DataForm sait comment afficher ton objet. Or toi tu veux customiser cet affichage puisque tu veux ajouter une ListBox, donc tu dois modifier le Template de ton DataForm pour rajouter tous tes champs (y compris ta DropDown et ton Calendar pour tes DateTime).

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    et d'apres mon code tu pourrais mé préciser comment modifier ce fameux template ?
    je suis un peu largué la... j'ai regarder ccomment modifier le template mais je vois pas la différence entre ça et tout mettre en dur. ce que je ne souhaite pas.

  14. #14
    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
    Tu peux tout trouver sur le net

    Exemple ici : http://www.a2zdotnet.com/View.aspx?id=134

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    oui crois moi que j'ai tourner sur pas mal de site pour ça mais en vain...

    je ne comprends pas trop l'interet d'un template ici. (utile quand on a la lecture, le edit, l'ajout pour précisé le binding à chaque fois) moi j'au simplement 2 champ date et une listebox, (pas de edit, pas d'ajout) donc si je suis cette vois la autant construire mon dataform dans le xaml et binder directement sur les variable... (cela dit je sais meme pas si c'st possible a tester, mais dans ce cas ce n'est plus créé dans le code behind.)

  16. #16
    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
    Tu veux qu'elle fasse quoi ta ListBox multi-selection ?

  17. #17
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    je rempli cette listbox avec des données récuperer par un service wcf, ensuite je selectionne ce que je veux et lorsque je valide le formulaire je récupère la liste des items que j'ai selectionné.

  18. #18
    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
    Citation Envoyé par livinho38 Voir le message
    je rempli cette listbox avec des données récuperer par un service wcf, ensuite je selectionne ce que je veux et lorsque je valide le formulaire je récupère la liste des items que j'ai selectionné.
    Et le rapport avec ta classe Formulaire ?

  19. #19
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 200
    Par défaut
    ma classe formulaire c'est pour créer un formulaire sans rien mettre dans le xaml (sauf la balise dataform bien sur)
    la je créé un objet formulaire, je " l'injecte " dans mon formuliare du xaml et celui ci recupere les parametres de cet objet
    (je n'ai pas pas les liens sous la main pour te montrer un exemple mais je pense que tu dois voir de quoi je parle)

  20. #20
    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
    Oui je comprends, mais quel est le lien entre ta ListBox et ta classe Formulaire ?
    Est-ce que le fait de sélectionner tel ou tel chose dans la LIstBox modifie une propriété de ton objet Formulaire ?

Discussions similaires

  1. [XL-2003] Alimenter une ListBox dans un formulaire
    Par BtjpsspgrW dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/09/2014, 08h31
  2. [Débutant] Mettre une listBox dans une colonne d'une listView
    Par Tom57300 dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/04/2014, 15h40
  3. Mettre une listbox dans une variable
    Par jazzybluesy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/02/2014, 18h50
  4. mettre une date dans un formulaire
    Par mademoizel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/06/2006, 11h09
  5. [Access 2003]Mettre une table dans un formulaire?
    Par steeves5 dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 13h30

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