begin process at 2012 02 08 23:46:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

WPF

 > [WPF] NOTIFIER L'INTERFACE UTILISATEUR DE LA MODIFICATION D'UNE PROPRIÉTÉ D'UN OBJET MÉTIER

[WPF] NOTIFIER L'INTERFACE UTILISATEUR DE LA MODIFICATION D'UNE PROPRIÉTÉ D'UN OBJET MÉTIER


 Description

Cliquez pour voir la capture en taille normale
Lorsque l'on dispose d'un objet métier bindé à l'interface graphique, on est parfois confronté à un problème de taille: la mise à jour de l'objet métier est effectué en mémoire mais au niveau de l'interface graphique, aucun changement n'est visible.

Pour palier à ce problème, il est nécessaire d'implémenter l'interface INotifyPropertyChanged sur l'objet métier: http://msdn.microsoft.com/en-us/library/system.com ponentmodel.inotifypropertychanged.aspx

Le fichier ZIP contient un projet de démonstration mettabt en oeuvre ce pattern.

Source

  • public class Personne : INotifyPropertyChanged
  • {
  • private string m_Nom;
  • public string Nom
  • {
  • get
  • {
  • return m_Nom;
  • }
  • set
  • {
  • m_Nom = value;
  • OnPropertyChanged("Nom");
  • }
  • }
  • private string m_Prenom;
  • public string Prenom
  • {
  • get
  • {
  • return m_Prenom;
  • }
  • set
  • {
  • m_Prenom = value;
  • OnPropertyChanged("Prenom");
  • }
  • }
  • private string m_Societe;
  • public string Societe
  • {
  • get
  • {
  • return m_Societe;
  • }
  • set
  • {
  • m_Societe = value;
  • OnPropertyChanged("Societe");
  • }
  • }
  • #region Implementation of INotifyPropertyChanged
  • public event PropertyChangedEventHandler PropertyChanged;
  • public void OnPropertyChanged(string propName)
  • {
  • if(PropertyChanged != null)
  • {
  • PropertyChanged(this, new PropertyChangedEventArgs(propName));
  • }
  • }
  • #endregion
  • }
public class Personne : INotifyPropertyChanged
    {
        private string m_Nom;
        public string Nom
        {
            get
            {
                return m_Nom;
            }
            set
            {
                m_Nom = value;

                OnPropertyChanged("Nom");
            }
        }

        private string m_Prenom;
        public string Prenom
        {
            get
            {
                return m_Prenom;
            }
            set
            {
                m_Prenom = value;
                OnPropertyChanged("Prenom");
            }
        }

        private string m_Societe;
        public string Societe
        {
            get
            {
                return m_Societe;
            }
            set
            {
                m_Societe = value;
                OnPropertyChanged("Societe");
            }
        }

        #region Implementation of INotifyPropertyChanged

        public event PropertyChangedEventHandler PropertyChanged;

        public void OnPropertyChanged(string propName)
        {
            if(PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propName));
            }
        }

        #endregion
    }

 Conclusion

Comme vous pouvez le constater, cette interface n'est pas nouvelle mais très peu connue des développeurs .NET. Avec WPF, elle devient quasiment obligatoire dans des scénarios de DataBinding, du plus simple au plus complexe.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip OUTIL DE VISUALISATION DE L'INDICE BOURSIER par ajkangoud
Source avec Zip Source avec une capture Source .NET (Dotnet) [WPF] RICH TEXT FORMAT par MasterShadows
Source avec Zip Source .NET (Dotnet) [WPF] GÉNÉRATEUR DE DOCUMENT XPS MULTIPAGES. par MasterShadows
Source avec Zip Source avec une capture Source .NET (Dotnet) WPF MESSAGE BOX ET WPF FOLDER SELECTOR par MasterShadows
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPLORATEUR DE REGISTRE WINDOWS par thebestdrummer

 Sources en rapport avec celle ci

Source avec Zip OUTIL DE VISUALISATION DE L'INDICE BOURSIER par ajkangoud
Source avec Zip Source .NET (Dotnet) [C# ET T4] TEMPLATE DE VIEW MODEL POUR LE PATTERN MVVM par Kite37
Source avec Zip Source avec une capture Source .NET (Dotnet) [WPF] RICH TEXT FORMAT par MasterShadows
Source avec Zip Source .NET (Dotnet) [WPF] GÉNÉRATEUR DE DOCUMENT XPS MULTIPAGES. par MasterShadows
Source avec Zip Source avec une capture Source .NET (Dotnet) BINDER DES PROPRIÉTÉS CALCULÉES AVEC WPF par mathmax

Commentaires et avis

Commentaire de mathmax le 05/08/2008 22:37:53

A ce sujet tu peux utiliser PostSharp. Il te suffit alors de décorer ta classe d'un simple attribut pour qu'elle "implémente" automatiquement INotifyPropertyChanged.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment ajouter une interface (à mon application WPF en C#) qui fait appel à un WebService (bien définit ici) [ par samolo1 ] Salut, en faite je cherche aussi une Explication détaillée Pour "ajouter une interface (à mon application WPF en C#) qui fait appel à un WebService" Mouse Leave et Enter WPF [ par xmox667 ] Salut à tous: Voila mon souci: J'ai un panel dont les events (A)mouseleave et (B)mouseenter sont "branchés". Il qui contient 2 boutons et Lorsque la De DataTable vers DataGrid en Visual C# en WPF (interfacage) [ par azerty15200 ] Bonjour, Voila j'ai un grand soucis que je n'arrive pas à résoudre depuis des jours maintenant. le soucis est simple : j'ai créée une classe DataTable Paint en WPF [ par missymissy24 ] Bonjour à tous, je dois faire un genre de Paint en WPF et C#... je chercher des ressources pour m'aider... [WPF]Fusionner plusieurs images en une seule pour l'enregistrer [ par HopliteStudio ] Bonjour, voilà j'ai un problème : Je travaille en WPF depuis peu et j'avoue être un peu paumé car winforms et WPF c'est loin d'être la même méthode... Tableau de variation en WPF [ par cindoo ] Bonjour je tente de créer un tableau de variation de la fonction xcarre+x+1 sur WPF cependant je n'ai aucune idée comment m'y prendre. Quelqu'un aurai Implementer une interface COM existante dans un object .NET [ par FrancoisC ] Bonjour,J'essaye d'implémenter une interface COM existantedans un object .NET (UserControl).Mais c'est interface n'est pas accessible par l'objet COM Remplissage de case rien de plus :/ [ par dJe781 ] "Alors là c'est si vous êtes désespéré et au bord du suicide :-)"Ca résume plutôt bien ^^Voilà, j'en suis au stade de vous proposer le défit du siècle Databinding et validation [ par Miltiades ] J'ai un 'petit' formulaire (juste quelques dizaines de champs dont la pluparts sont gérés par databinding,le probleme, c'est qu'une petite partie des interface media player [ par azyous ] qui a une ideé comment faire une interface qui ressemble a media player avec visual c#


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales