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 :

binding : Effacer contenu listbox


Sujet :

Windows Presentation Foundation

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Points : 366
    Points
    366
    Par défaut binding : Effacer contenu listbox
    Bonjour,
    J'ai une listBox qui ne se vide pas lors du raffraichissement :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <ListBox Name="lst" Background="#00000000" BorderThickness="0" 
                                     ItemTemplate="{StaticResource listBoxTemplate}" ItemsSource="{Binding oURL}" />

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    private void BindDataURL()
            {
                if (File.Exists(m_sPathLocalData + @"\datas.xml"))
                {
                    dtSet.ReadXml(m_sPathLocalData + @"\datas.xml");
     
                    lst.DataContext = dtSet;
                }
                else
                {
                    lst.DataContext = null;
                }
            }

    Si je fait un lst.Clear(); j'ai une erreur.

    C'est plus complexe que cela ?

  2. #2
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Salut,

    Et si tu vides le dataset ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par toss.net Voir le message
    Si je fait un lst.Clear(); j'ai une erreur.
    On ne peut pas modifier directement les items de la ListBox si elle est bindée. Il faut travailler au niveau de la source des données (une DataTable en l'occurrence). Vide la table et ça devrait le faire...

  4. #4
    En attente de confirmation mail
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Points : 366
    Points
    366
    Par défaut
    D'abord, merci de vos aides.

    J'ai testé en mettant que lst.DataContext = null; et en effet cela a vidé ma listbox. Je me suis dit qu'en la mettant au début ça devrait passer.. que nenni !

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void BindDataURL()
    {
        lst.DataContext = null; // vide la listbox : ben non
    	if (File.Exists(m_sPathLocalData + @"\datas.xml"))
    	{
    		dtSet.ReadXml(m_sPathLocalData + @"\datas.xml");
     
    		lst.DataContext = dtSet;
    	}
    	else
    	{
    		lst.DataContext = null;
    	}
    }
    je fais quoi de mal ?

  5. #5
    En attente de confirmation mail
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 338
    Points : 366
    Points
    366
    Par défaut
    En effet ça marche mieux comme ça :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dtSet.Clear();
    lst.DataContext = dtSet;

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

Discussions similaires

  1. effacer contenu d'une combobox liée
    Par christi dans le forum Windows Forms
    Réponses: 13
    Dernier message: 04/02/2009, 17h25
  2. Effacer contenu de fichier
    Par Mimiche dans le forum Langage
    Réponses: 3
    Dernier message: 09/01/2008, 14h51
  3. Effacer contenu JTextField lors d'un clic
    Par javamax dans le forum Composants
    Réponses: 3
    Dernier message: 07/04/2007, 17h04
  4. [VB6] Effacer une listbox lors d'un clic.
    Par Chocapic dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 02/06/2006, 11h55
  5. effacer contenu d'un tableau
    Par mrtatou dans le forum C
    Réponses: 8
    Dernier message: 06/02/2006, 13h35

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