begin process at 2010 02 10 07:06:08
  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 .NET (Dotnet) WPF MOVENEXT ET MOVEPREVIOUS par muffin516
Source avec Zip Source avec une capture Source .NET (Dotnet) ROBOT À DESSINER par Warny
Source avec Zip Source avec une capture Source .NET (Dotnet) [WPF .NET 3.5] USER CONTROL INFO BOX par Kite37
Source avec Zip Source avec une capture Source .NET (Dotnet) [C# .NET 3.5 WPF] SLIDER CIRCULAIRE par Kite37
Source avec Zip Source avec une capture Source .NET (Dotnet) SERVICES WINDOWS par thebestdrummer

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SODOKU MUSING (PERMUTATION & SODOKU) par krissssss
Source avec Zip Source avec une capture Source .NET (Dotnet) ROBOT À DESSINER par Warny
Source avec Zip Source avec une capture Source .NET (Dotnet) [WPF .NET 3.5] USER CONTROL INFO BOX par Kite37
Source avec Zip Source .NET (Dotnet) CAROUSEL EN WPF (USERCONTROL) par CoolSpirit
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

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# Interface IDbDataAdapter [ par jacma ] BonjourQuel est l'intérêt d'implémenter l'interface IDbDataAdapter plutôt que de se servir directement de SqlDataAdapter?Merci interface MDI et réduction [ par coq ] bon voilà : quand on reduit une fenetre enfant dans un MDI, il reste une "petite boite" avec la barre de titre et les 3 box de controle (fermer, agran Chat avec interface graphique !!!!!! [ par saku_ ] Salut tout le monde !!!! J'ai réalisé un Chat en C# en mode Console, mon souci est que je n'arrive pas à faire l'interface. Serait il de me donner u Affichage d'une interface au click d'un control TextBox en ASP.NET [ par Alex009 ] BonjourJ'ai un formulaire( xyz.aspx) avec plusieurs controls de textbox qui prendront le detail de chaque article, j'aimerai afficher une interface(ou Interface ? [ par ToshiBaba ] Bonjour,J'ai un souci de conception dans mon projet C#, peut-être que vous pourrez m'aider Ce que je veux faire :une MDI qui instancie quand le besoin créer une interface de dessin [ par godefrw ] Bonjour, je souhaite créer dans mon application, une interface de dessin permettant à l'utilisateur de réaliser des dessin de base: rectangle et rond,


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,655 sec (4)

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