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 :

PropertyDescriptor.AddValueChanged sur un string n'est pas exécuté si la valeur est vide


Sujet :

C#

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut PropertyDescriptor.AddValueChanged sur un string n'est pas exécuté si la valeur est vide
    Bonjour.

    J'utilise actuellement des PropertyDescriptor afin de m'abonner sur tous les champ d'une instance de User. Quand une valeur est modifier, cela exécute un simple méthode faisant passer ma variable CanSave à True.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (PropertyDescriptor propertyDescriptor in TypeDescriptor.GetProperties(this.user))
    {
        propertyDescriptor.AddValueChanged(this.user, this.EditPerson);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void EditPerson()
    {
        this.CanSave = !string.IsNullOrWhiteSpace(this.user.FirstName) && !string.IsNullOrWhiteSpace(this.user.LastName)
    }
    Prenons donc les champs FirstName et LastName. Si l'un deux revient à une valeur null empty ou simplement avec uniquement des espaces, la méthodes n'est pas exécutée.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Points : 129
    Points
    129
    Par défaut
    Je vient de trouver un nouveau comportement. Bon du coup ma discussion pencherais plus dans le WPF.

    Toutes mes propriétés sont utilisées dans des Binding dans une application WPF.
    La plupart d'entre elles utilisent la valeur par défaut de UpdateSourceTrigger soit LostFocus. Dans le cas présent, ma méthode EditPerson est bien appelée.
    Pour d'autres, j'utilise la valeur PropertyChanged afin de rendre l'application plus dynamique avec l'utilisation de règle de validation. Ce sont sur celles-ci que ma méthode n'est pas appelé quand mon texte est vide.

Discussions similaires

  1. Réponses: 16
    Dernier message: 20/01/2015, 12h14
  2. Réponses: 0
    Dernier message: 24/12/2012, 10h27
  3. Les images ne s'affichent pas et le css n'est pas appliqué sur mon site en ligne
    Par landar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/03/2007, 19h47
  4. Réponses: 2
    Dernier message: 11/03/2007, 09h30
  5. [AJAX] Javascript n'est pas exécuté avec ajax.
    Par John6281 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/02/2007, 14h35

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