‫Content de te revoir.
‫Et cette vidéo dont nous allons parler, je notifie la propriété modifiée, donc à propos de cette interface, qui nous permet de
‫déclencher quelque chose si une propriété a été modifiée et que nous avons vu une propriété modifiée dans la dernière
‫vidéo lorsque nous utilisions la liaison.
‫Et nous allons le faire un peu différemment cette fois.
‫Et vous verrez comment utiliser cette interface vous-même.
‫Donc, au lieu d'une grille, je veux utiliser un panneau de bâton parce que je veux empiler les choses et je
‫vais empiler.
‫Tout d'abord, une étiquette dont je vais mettre le contenu à un et
‫je vais fermer cette étiquette comme ça.
‫Et en dessous, je veux avoir une zone de texte où nous pouvons entrer une valeur.
‫Je ne vais donc pas utiliser un bloc de texte, une zone de texte ici.
‫Je vais le fermer tout de suite.
‫Cela et dans la zone de texte, je veux avoir une largeur de 100 pixels, une hauteur de, disons, 30 pixels, puis je
‫veux définir le texte.
‫Maintenant, le texte doit être relié.
‫Je vais donc utiliser l'exploration de données ici.
‫Et le chemin que je veux utiliser va être le numéro un et le mode va être bidirectionnel.
‫Nous avons donc vu ce que signifie ce mode et ce que signifie ce chemin.
‫Alors maintenant, copions ce code et dupliquons-le ici.
‫Je vais donc le copier et le coller deux fois.
‫Donc ça va être insensible à la même chose pour ici et ça va être un résultat.
‫Ce sera donc le résultat et ce sera le numéro trois.
‫Alors maintenant, vous pourriez vous demander quel est ce numéro un deux et le résultat parce que.
‫Eh bien, nous avons le numéro un et le numéro deux et ainsi de suite.
‫Mais ce ne sont que des contenus.
‫Ce ne sont pas des noms.
‫Donc, pour nous y connecter ou les utiliser, nous devons entrer dans notre code parce que je veux les
‫créer ici.
‫Je vais donc créer une nouvelle classe, en fait, car nous allons utiliser la fenêtre principale comme programme.
‫Tellement similaire à notre programme.
‫Mais je veux utiliser I notifier modifié.
‫Et pour utiliser cette interface, je dois créer une nouvelle classe qui puisse en hériter.
‫Je vais donc utiliser une nouvelle classe ici et je vais l'appeler ainsi, car ce que je veux faire, c'est que si nous revenons au
‫fichier XML, nous avons ce numéro un, numéro deux et trois.
‫Et ce que je veux, c'est si j'ajoute une valeur ici et une valeur là, alors la valeur ici en
‫bas devrait automatiquement être la somme des deux précédentes.
‫D'accord.
‫Je vais donc utiliser une nouvelle classe pour cela.
‫Et cette classe devrait hériter de I notifier la propriété modifiée.
‫Et pour ne pas vouloir l'utiliser, j'ai notifié que la propriété a changé.
‫Nous devons utiliser le système, ce modèle de composant.
‫Je vais donc utiliser le modèle de troisième composant du système.
‫Alors maintenant, vous pouvez voir que notre interface est verte, ce qui est bien en général, tout comme le vert, qui est
‫la couleur de l'interface dans Visual Studio.
‫Et maintenant, je peux corriger ces erreurs potentielles.
‫Donc, vous voyez, j'ai besoin d'implémenter l'interface.
‫Alors je vais faire ça.
‫Et comme vous le voyez, nous avons cet événement public, propriété modifiée, propriété de gestionnaire d'événement modifiée.
‫Et maintenant, afin d'utiliser cela, nous devrons créer une méthode privée appelée void sur la propriété modifiée, qui va prendre en
‫compte une propriété.
‫Et dans mon cas, cette propriété va être une chaîne.
‫Et je veux vérifier d'abord.
‫Si la propriété a changé, la propriété modifiée n'est pas vide.
‫Donc pas égal maintenant, car si c'est le cas, alors je veux aller de l'avant et appeler la propriété de propriété
‫modifiée.
‫Cette nouvelle propriété a changé les arcs d'événement, que je vais remettre aux propriétés, donc la propriété a changé les arcs d'événement, comme vous
‫pouvez le voir, a besoin d'un nom de propriété fort.
‫Et le nom de la propriété que je veux remettre est la propriété elle-même.
‫Donc, lors d'un changement de propriété, cela va appeler cette propriété et je vais entrer dans une fête ici.
‫Très bien, nous appellerons donc simplement cet événement de modification de propriété, et maintenant, afin d'utiliser tout cela,
‫nous devons avoir plusieurs propriétés.
‫Et je vais commencer par créer d'abord des champs privés.
‫Donc une chaîne privée, non.
‫Un, puis une chaîne privée, nommez deux, et enfin une chaîne privée appelée result.
‫Et maintenant, je crée des propriétés pour tout cela.
‫Je vais donc créer une propriété appelée Namwon.
‫Et cette propriété devrait être légèrement différente de la propriété standard.
‫Je ne vais donc pas utiliser ce get et set de base.
‫Je vais utiliser un auto-défini donc je vais en définir un moi-même.
‫Et il ne devrait pas retourner Namwon, mais il devrait retourner alors que ce n'est pas celui avec le capital, pas la
‫propriété, mais en fait ce champ ici.
‫Donc ça va retourner Namwon.
‫Alors retournez le numéro un.
‫Et si je dis quelque chose, alors je veux définir la valeur.
‫Soit dit en passant, j'utilise la chaîne ici en haut, donc ma propriété devrait également être des chaînes.
‫Je vais donc rendre Namwon.
‫Et maintenant, si quelqu'un essaie de définir le numéro un, je veux essayer de l'analyser, car que se passe-t-il si ce n'est pas un numéro que l'utilisateur
‫a entré ?
‫Et s'il entrait, je ne sais pas, des lettres ou quelque chose comme ça ?
‫Ensuite, je veux l'attraper et le changer.
‫Je vais donc utiliser ce numéro et je vais créer un nouveau livre ici.
‫Et je vais appeler le résultat va être dans le tripartisme et je vais essayer de passer la valeur et je
‫vais sortir le numéro.
‫Nous avons donc déjà vu Tripa.
‫Ce qu'il fait simplement, c'est qu'il essaie de passer la valeur qui est donnée dans un entier.
‫Et si cela a fonctionné, alors ce sera vrai.
‫Et si cela n'a pas fonctionné, alors ce sera faux.
‫Et au fait, si cela a fonctionné, nous publierons également le numéro.
‫Donc si je peux ou si j'obtiens une valeur positive maintenant, je vais juste dire que personne ne sera la valeur.
‫Et aussi ce que je veux changer ou le déclencheur est de posséder une propriété modifiée et je vais déclencher le
‫numéro un.
‫D'accord.
‫Je vais donc modifier cette propriété numéro un si les valeurs ont changé.
‫Maintenant, ce que nous pouvons également faire, c'est simplement copier cela pour notre deuxième numéro.
‫Donc le numéro deux, et je vais le remplacer par le numéro deux, ça va aussi être un numéro et ça
‫va être le numéro deux et là aussi.
‫Et maintenant, enfin, nous avons besoin d'une propriété pour notre résultat.
‫Je vais donc créer ce résultat de chaîne publique.
‫Et celui-ci va également avoir un get et un set.
‫Donc, ici, ils vont avoir et le résultat sera dans cette passe Non.
‫Une.
‫Plus int.
‫Pour les transmettre et pourquoi puis-je le faire maintenant ?
‫Eh bien, parce que je les renvoie et chaque fois que je mets Namwon et moi aussi, donc une fois ici, ce sont déjà des
‫entiers parce qu'ils ne sont définis que, ils n'ont de valeur que s'ils sont un nombre, OK, donc sinon ils ne seront
‫jamais fixés, ils seront vides.
‫Et ensuite, ce que nous devons faire, c'est retourner quelque chose ici.
‫Je vais donc revenir restauré à la chaîne.
‫Donc le résultat.
‫Maintenant, si quelqu'un essaie de définir le résultat, je vais simplement faire ce qui suit.
‫Donc définir le résultat final va être et passer en fait la même chose que nous avons fait ici, seulement que nous ne le renvoyons pas,
‫mais nous le réglons de manière à ce qu'il y ait du repos à la chaîne.
‫Et maintenant, ici, nous avons fait appel à la propriété, changé nos résultats, et la même chose vaut pour notre numéro et
‫engourdit un.
‫Donc, cela change la propriété, comme vous pouvez vous en souvenir, cela change la valeur de la propriété.
‫Donc, la propriété a changé les événements ARG d'événement, et il va prendre en compte la propriété
‫et il va appeler cet événement de modification de propriété, puis toutes ces propriétés.
‫Ainsi, la propriété numéro un, la propriété numéro deux et le résultat un seront notifiés et notre résultat devrait
‫être modifié.
‫Donc, ce que je veux, c'est que chaque fois que quelqu'un entre un nombre, ce nombre trois va également
‫être modifié.
‫Et avant de pouvoir vérifier cela ou tester cela, nous devons aller dans notre fichier dot dot et créer
‫un objet ou une classe.
‫Nous avons donc créé la même classe et je vais continuer et créer un nouvel objet.
‫Je vais le créer ici, qui ne sera pas seulement un objet, ce sera aussi une propriété.
‫Ainsi, un objet va l'obtenir et le définir.
‫Maintenant, pour y accéder, nous devons également rendre nos quelques-uns publics.
‫Alors rendons cette classe publique et maintenant nous pouvons continuer et utiliser un objet.
‫Maintenant, je peux définir cet objet, un objet ici au début, et je vais dire que c'est une
‫nouvelle somme dont la valeur n'est pas un.
‫Et le numéro deux, ayant juste une valeur de, disons, trois.
‫Et comme vous le voyez, nous avons ici deux chaînes car sinon cela ne fonctionnera pas car ces propriétés, ce sont
‫des chaînes.
‫Droit.
‫Alors maintenant, ce que je dois appeler ou ce que je dois définir, c'est le contexte de données pour notre certain objet, car sinon rien
‫ne se passera.
‫Alors maintenant, exécutons ceci.
‫Et puis, voyez-vous, nous n'avons jamais dit le numéro trois, ce qui est le résultat.
‫Et c'est peut-être encore mieux si nous appelons cela des résultats.
‫Alors allons-y et changeons l'étiquette en résultat ou peut-être même en certains.
‫Ce sera donc la somme, peut-être même quelque chose comme celle du numéro un et du numéro deux.
‫OK, alors réexécutons-le maintenant.
‫Et vous êtes un plus trois font quatre, donc maintenant changeons-le pour disons 25 et comme vous le voyez, cela a changé.
‫Alors maintenant, cela a changé la valeur de trois à 31, vous voyez 56.
‫Maintenant, si je change cette valeur ici.
‫Vous voyez, il revient à sa valeur normale, car ce que nous avons fait ici dans le Setter, si quelqu'un essaie de définir
‫le résultat, nous définissons simplement le résultat sur, encore une fois, la valeur et après le numéro un et le numéro
‫deux.
‫Ainsi, il reviendra toujours au résultat réel si nous avons déjà essayé de définir le résultat de notre chaîne de
‫caractères.
‫OK, alors maintenant vous pouvez jouer avec cela et vous pouvez calculer ce que vous voulez et vous aurez des
‫réponses en temps réel, plus en temps réel.
‫Eh bien, les sommes de vos deux valeurs.
‫Vous pouvez aller de l'avant et en ajouter un autre ou vous pouvez maintenant continuer et le changer pour qu'il devienne un multiplicateur.
‫Mais maintenant, je sais que nous devions mettre en place un certain nombre de mises en place.
‫Et donc je veux le revoir une fois de plus très rapidement avec vous.
‫Ainsi, dans le fichier Zemo, nous avions ces trois étiquettes et ces trois zones de texte, qui ne sont que les éléments de l'interface utilisateur.
‫Droit.
‫Et le texte de chacun d'eux est lié.
‫Celui-ci a donc le chemin vers le numéro un.
‫Celui-ci est le chemin vers eux deux.
‫Et celui-ci a le chemin, le résultat.
‫Et ce sont ceux-là ici.
‫Donc, les propriétés numéro un, numéro deux et numéro trois, nous avons créé une classe supplémentaire, qui hérite du widget
‫J'ai notifié la propriété modifiée, qui est une interface dont cette propriété a changé le gestionnaire d'événements,
‫qui est un événement et qui est appelé propriété modifié.
‫Nous avons maintenant créé une méthode appelée On Property Changed, qui est appelée à chaque fois que l'une de nos propriétés
‫est modifiée.
‫Et cela se fait une fois qu'une propriété est définie.
‫Nous avons donc cette propriété, numéro un.
‫Et si quelqu'un essaie de définir cette valeur de Namwon, nous allons simplement l'appeler sur la propriété
‫modifiée.
‫Et ici, nous définissons la propriété.
‫Alors nous disons, OK, donnez-moi une propriété et nous changeons cette propriété à la valeur qui a été donnée.
‫C'est donc à peu près nous le fixons, mais en même temps, nous ne fixons pas seulement celui que nous
‫fixons actuellement en termes de centre.
‫Donc, nous ne définissons pas seulement personne ici, mais nous définissons également le résultat et nous ne définissons pas le et vous voyez
‫cette ligne ici.
‫Il définit ce champ afin de modifier ce champ de chaîne privée et cette modification de la propriété modifie en fait
‫la propriété elle-même.
‫Cela va donc changer la valeur de la propriété elle-même.
‫Mais en même temps, cela va changer la valeur de la propriété result.
‫Il va donc mettre à jour notre résultat à chaque fois que nous modifions la valeur de un.
‫Et il en va de même pour eux aussi.
‫Et il en va de même pour notre résultat, où j'ai dit à chaque fois que le résultat est modifié, nous voulons
‫aller de l'avant et appeler cela sur la propriété.
‫Méthode changée aussi.
‫Bon, maintenant vous voyez comment vous pouvez utiliser la propriété I-95 modifiée, comment vous pouvez utiliser cette interface et vous pouvez l'utiliser
‫de plusieurs manières différentes, et c'est vraiment intéressant de l'utiliser chaque fois qu'une propriété est
‫modifiée.
‫Disons donc que la couleur est modifiée et que vous souhaitez déclencher un événement qui va faire des
‫animations fantaisistes ou que quelqu'un appuie sur un bouton qui va changer et une propriété quelque part dans votre programme.
‫Et vous voulez que quelque chose de grand se produise après, vous pouvez mettre tout cela en place avec ça.
‫J'ai notifié l'interface de modification de propriété avec vous, bien sûr, ce qu'il faut faire est de créer une corrélation d'héritage ici entre
‫la classe que vous utilisez.
‫Et je notifie que la propriété a changé.