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

C# Discussion :

TextBlock : NullReferenceException


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Par défaut TextBlock : NullReferenceException
    Bonjour,
    je me sers de cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    agentChoisi = ((TextBlock)ZL_ListeAgents.CurrentColumn.GetCellContent(ZL_ListeAgents.SelectedItem)).Text;
    pour récuperer le nom d'un agent dans une DataGrid, après click dans la
    DataGrid.

    Ca marche parfaitement mais je reçois une erreur "NullReferenceException"
    dès que je clique sur un autre bouton de recherche, ce qui me paraît pour le moins étrange.

    Le débogueur me suggère de créer une instance de TextBlock mais quand je le fais il ne reconnaît pas l'instance crée

    Une suggestion ---> Merci.

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    J'image que (TextBlock)ZL_ListeAgents.CurrentColumn.GetCellContent(ZL_ListeAgents.SelectedItem) doit être null, ce qui cause une exception quand tu essaye d'avoir la propriété Text.

    Qu'est-ce que tu entends par "ès que je clique sur un autre bouton de recherche". Tu peux donner plus d'info sur ce que tu fais?

  3. #3
    Membre très actif Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Par défaut
    Citation Envoyé par GuruuMeditation Voir le message
    J'image que (TextBlock)ZL_ListeAgents.CurrentColumn.GetCellContent(ZL_ListeAgents.SelectedItem) doit être null,
    ce qui cause une exception quand tu essaye d'avoir la propriété Text.
    Non, au moment du click sur la liste (DataGrid) je récupère parfaitement la valeur.

    Citation Envoyé par GuruuMeditation Voir le message
    Qu'est-ce que tu entends par "ès que je clique sur un autre bouton de recherche". Tu peux donner plus d'info sur ce que tu fais?
    Par exemple : quand je sors de la liste, que je clique sur une liste de paramètres pour effectuer une nouvelle recherche
    ("Nom","Prenom","Age",etc.) et que je valide (donc bouton de validation) c'est à ce moment là que se produit l'erreur.
    C'est comme si le programme pensait que je clique à nouveau dans "ZL_ListeAgents" alors que ce n'est pas le cas.
    En fait l'évènement n'est pas un click, qui apparemment n'existe pas pour une DataGrid en WPF, mais un 'SelectionChanged'...

    J'ai ajouté un 'Catch' vide qui permet au programme de poursuivre mais ça ne règle pas le problème...

  4. #4
    Membre très actif Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Par défaut
    Est-ce qu'il faudrait que l'évènement 'SélectionChanged' soit encapsulé dans un thread?

  5. #5
    Membre très actif Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Par défaut
    Ou peut-on utiliser le textblock dans un 'Using'?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Par défaut
    Quand tu re-rempli ton DataGrid, je suppose que tu le vide, puis que tu le remplis.

    Une fois le DataGrid vide, il doit mettre une valeur vide à SelectedItem (forcément, le DataGrid est vide).

    Et c'est la que tu dois avoir ton évènement SelectionChanged et ton exception.

    Peut-être que vérifier que ta propriété ZL_ListeAgents.SelectedItem n'est pas nulle résoudrait ton problème ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/06/2007, 08h05
  2. Réponses: 2
    Dernier message: 05/06/2007, 17h22
  3. Réponses: 3
    Dernier message: 01/05/2007, 16h07
  4. [C#] NullReferenceException après un PostBack ?!
    Par Danny Blue dans le forum ASP.NET
    Réponses: 1
    Dernier message: 16/10/2006, 08h48
  5. [VB.NET] System.NullReferenceException
    Par LeGrosWinnie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 29/12/2005, 13h31

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