Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Découvrir Windows Presentation Foundation

Implémenter INotifyPropertyChanged

Testez gratuitement nos 1344 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Préparez la liaison de données en implémentant l'interface INotifyPropertyChanged dans votre ViewModel. Agissez de façon à avertir WPF des modifications de données faites dans votre modèle.
04:24

Transcription

On en a beaucoup parlé, il est temps de voir ça en pratique, le Binding, la liaison de données. Alors, résumons-nous, on a une View. Ici on a le Code-behind de la View, on a défini un ViewModel, on y va, et pour l'instant il n'y a pas grand chose dans notre ViewModel. On a une classe qui s'appelle Main, on va la rendre publique, et puis, pour assurer notre Binding, on va lui faire implémenter une interface qui s'appelle INotifyPropertyChanged, donc on lui dit : « Tu va m'implémenter cette interface : INotifyPropertyChanged. » Et déjà on dit, c'est quoi ça ? Eh bien, simplement, parce qu'elle vient du Namespace System.ComponentModel. Donc, on va ajouter notre Namespace, de façon à avoir l'interface. On a toujours du rouge parce que notre interface nous demande d'implémenter, un certain nombre de membres, on va dire ici d’implémenter l’interface. Perfect ! A quoi ça sert ? Eh bien, ça va servir à notre ViewModel de pouvoir communiquer automatiquement au contrôle de notre vue, donc de notre XAML WPF, pour pouvoir lui envoyer des notifications de changement, et que la vue se mette automatiquement à jour, par rapport aux différentes propriétés qui sont dans notre ViewModel. On aura simplement à dire, à un moment donné, la propriété a changé, et le ViewModel va se mettre à jour automatiquement. On aura une vraie liaison de données sans avoir à changer quoi que ce soit au niveau de la View. On a juste à déclencher un événement dans notre ViewModel. C'est tout ce qu'on aura à faire pour mettre à jour l'affichage. Donc j'ai un événement que je dois gérer et je vais créer une méthode qui va déclencher cet événement. Je vais faire cette méthode private parce que je ne l'appellerai qu'à l’intérieur de ma classe. C'est à l’intérieur de ma classe que je vais déclencher des événements de modification, et ça va permettre à l'événement de se déclencher par rapport à la vue. Donc private, ça retourne un void, et puis je vais l'appeler, par exemple OnPropertyChanged. C'est comme ça que vous le retrouverez dans le code SqlTrismegiste, et puis la signature, c'est le nom de propriété, donc, un string PropertyName. Ma convention de nommage personnelle, c'est assez standard, cela dit, pour les paramètres : la première lettre en minuscule. Dans le corps de ma méthode, je récupère le pointeur sur le handler de mon événement, et puis je vais l'exécuter, alors je peux faire comme ceci : handler par rapport à... le sender, ça va être this, c'est mon ViewModel, et puis un PropertyChangedEventArgs. Donc je vais créer un New PropertyChangedEventArgs, auquel je passe dans le constructeur le nom de la propriété, c'est ce qu'il me demande, donc PropertyName. Voilà qui suffit. Il y a un défaut à cet appel c'est que, si le handler, c'est-à-dire, si le Gestionnaire d'événements, n'a pas été instancié, ici j'ai un null, et donc j'appelle un null et je vais avoir un NullReferenceExeption, ok. Donc je pourrais faire un if handler est différent de null. Mais juste une note, on a une propagation nulle possible en utilisant, maintenant, cette syntaxe et en faisant un Invoke. Donc j'ai ici une syntaxe qui me permet de tester en une seule fois mon objet. Est-ce que sa référence est nulle ? Si non, je fais un Invoke, si oui, je ne vais pas plus loin. Donc c'est un petit raccourci, maintenant en C#. Voilà, à partir de ça, j'ai ce qu'il me faut, j'ai mon squelette pour déclencher des événements de changement de propriété, pour faire du Binding dans mon XAML, dans ma vue, par rapport à mon ViewModel.

Découvrir Windows Presentation Foundation

Améliorez la qualité de vos interfaces graphiques avec WPF (Windows Presentation Foundation). Découvrez le langage XAML, définissez votre interface graphique manuellement, etc.

3h12 (40 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 mai 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !