‫Welkom terug.
‫En deze video waar we het over gaan hebben, ik geef een wijziging van de eigenschap door, dus over deze interface, waarmee
‫we iets kunnen activeren als een eigenschap is gewijzigd en we hebben gezien dat de eigenschap is gewijzigd in de
‫laatste video toen we binding gebruikten.
‫En we gaan het deze keer net even anders doen.
‫En u zult zien hoe u deze interface zelf kunt gebruiken.
‫Dus in plaats van een raster, wil ik een stokpaneel gebruiken omdat ik dingen wil stapelen en ik ga
‫stapelen.
‫Allereerst een label waarvan ik de inhoud op één ga zetten en
‫dit label ga ik zo sluiten.
‫En daaronder wil ik een tekstvak hebben waarin we een waarde kunnen invoeren.
‫Dus ik ga hier geen tekstblok gebruiken, een tekstvak.
‫Ik ga hem meteen sluiten.
‫Dat en in het tekstvak wil ik de breedte van 100 pixels hebben, een hoogte van, laten we zeggen, 30 pixels, en dan wil
‫ik de tekst instellen.
‫Nu moet de tekst worden ingebonden.
‫Dus ik ga hier datamining gebruiken.
‫En het pad dat ik wil gebruiken, wordt nummer één en de modus wordt tweerichtingsverkeer.
‫Dus we hebben gezien wat deze modus betekent en wat dit pad betekent.
‫Dus laten we nu deze code kopiëren en hier dupliceren.
‫Dus ik ga het twee keer kopiëren en plakken.
‫Dus dit zal voor hier verdoofd zijn en dit zal een resultaat zijn.
‫Dit wordt dus het resultaat en dit wordt nummer drie.
‫Dus nu vraag je je misschien af wat deze nummer één twee is en resultaat omdat.
‫Nou, we hebben nummer één en nummer twee, enzovoort.
‫Maar dit is slechts inhoud.
‫Het zijn geen namen.
‫Dus om er verbinding mee te maken of ze te gebruiken, moeten we onze code erachter ingaan, want ik wil die
‫hier maken.
‫Dus ik ga eigenlijk een nieuwe klasse maken, omdat we het hoofdvenster als ons programma gaan gebruiken.
‫Dus vergelijkbaar met ons programma.
‫Maar ik wil gebruik maken van Ik meld gewijzigd.
‫En om deze interface te gebruiken, moet ik een nieuwe klasse maken die ervan kan erven.
‫Dus ik ga hier een nieuwe klasse gebruiken en ik ga het wat noemen, want wat ik wil doen is als we teruggaan naar het
‫XML-bestand, we hebben dit nummer één, nummer twee en drie.
‫En wat ik wil is dat als ik hier een waarde en daar een waarde optel, dan zou de waarde hier onderaan
‫automatisch de som moeten zijn van de twee ervoor.
‫Oke.
‫Dus daar ga ik een nieuwe klasse voor gebruiken.
‫En deze klasse zou moeten erven van ik meld eigenschap gewijzigd.
‫En om dit wel te willen gebruiken, heb ik de eigenschap gewijzigd.
‫We moeten het systeem gebruiken, dat componentenmodel.
‫Dus ik ga het derde componentmodel van het systeem gebruiken.
‫Dus nu kun je zien dat onze interface groen is, wat het over het algemeen goed doet, net als groen,
‫wat de interfacekleur is in Visual Studio.
‫En nu kan ik die mogelijke fouten herstellen.
‫Dus je ziet, ik moet de interface implementeren.
‫Dus dat ga ik doen.
‫En zoals je ziet, hebben we deze openbare gebeurtenis, eigenschap gewijzigd, eigenschap gebeurtenishandler gewijzigd.
‫En om dat nu te gebruiken, moeten we een privémethode maken met de naam void on property gewijzigd, die een property
‫gaat opnemen.
‫En in mijn geval wordt deze eigenschap een string.
‫En ik wil eerst kijken.
‫Als eigenschap is gewijzigd, is eigenschap gewijzigd niet leeg.
‫Dus niet gelijk nu, want als dat het geval is, dan wil ik doorgaan en het pand eigendom veranderd
‫noemen.
‫Deze nieuwe eigenschap gewijzigde gebeurtenisbogen, die ik ga overdragen aan eigenschappen, dus de eigenschap gewijzigde gebeurtenisbogen heeft, zoals
‫je kunt zien, een sterke eigenschapsnaam nodig.
‫En de eigendomsnaam die ik wil overdragen is het eigendom zelf.
‫Dus bij verandering van eigendom, dat gaat dit eigendom noemen en ik ga hier een feestje geven.
‫Oké, dus we zullen deze eigenschap gewijzigde gebeurtenis gewoon noemen, en om nu al deze eigenschappen te gebruiken,
‫hebben we verschillende eigenschappen nodig.
‫En ik begin eerst met het maken van privévelden.
‫Dus een privéstring, nr.
‫Een, dan een privé-tekenreeks, noem er twee en tot slot een privé-tekenreeks met de naam resultaat.
‫En nu maak ik eigenschappen voor al deze.
‫Dus ik ga een eigendom maken genaamd Namwon.
‫En deze ene eigenschap zou iets anders moeten zijn dan de standaard.
‫Dus ik ga deze basis ophalen en instellen niet gebruiken.
‫Ik ga een zelfgedefinieerde gebruiken, dus ik ga er zelf een definiëren.
‫En het zou Namwon niet moeten teruggeven, maar het zou moeten terugkeren terwijl niet degene met kapitaal, niet het
‫eigendom, maar eigenlijk dit veld hier.
‫Dus het wordt Namwon teruggeven.
‫Dus terug nummer één.
‫En als ik iets zei, dan wil ik de waarde instellen.
‫Trouwens, ik gebruik string hier bovenaan, dus mijn eigendom zou ook strings moeten zijn.
‫Dus ik ga Namwon teruggeven.
‫En als iemand nu nummer één probeert in te stellen, wil ik dat proberen te ontleden, want wat als het geen nummer is dat de
‫gebruiker heeft ingevoerd?
‫Wat als hij binnenkwam, ik weet het niet, brieven of iets dergelijks?
‫Dan wil ik dat opvangen en veranderen.
‫Dus ik ga het nummer gebruiken en ik ga hier een nieuw boek maken.
‫En ik ga bellen, het resultaat zal in tripartisme zijn en ik ga proberen de waarde door te geven en ik ga
‫het nummer eruit halen.
‫We hebben Tripa dus al eerder gezien.
‫Wat het gewoon doet, is dat het probeert de waarde die wordt gegeven door te geven aan een geheel getal.
‫En als het werkte, dan zal het waar zijn.
‫En als het niet werkte, dan is het vals.
‫En trouwens, als het werkte, krijgen we het nummer ook.
‫Dus als ik kan of als ik nu een positieve waarde krijg, ga ik gewoon zeggen dat niemand de waarde zal zijn.
‫En ook wat ik wil veranderen of de trigger is om eigendom te veranderen en ik ga de nummer één
‫activeren.
‫Oke.
‫Dus ik ga deze nummer één eigenschap veranderen als de waarden veranderen.
‫Wat we ook kunnen doen, is dat gewoon kopiëren voor ons tweede nummer.
‫Dus nummer twee, en ik ga dat veranderen in nummer twee, het wordt ook een nummer en het
‫wordt nummer twee en daar ook.
‫En nu hebben we eindelijk een eigenschap nodig voor ons resultaat.
‫Dus ik ga dat openbare tekenreeksresultaat maken.
‫En deze krijgt ook een get en een set.
‫Dus hier krijgen ze het en het resultaat zal zijn in die pas nr.
‫Een.
‫Plus int.
‫Om ze door te geven en waarom kan ik dat nu doen?
‫Nou, omdat ik ze terugbreng naar en wanneer ik Namwon instel en ik ook zo ben, eenmaal hier zijn het al gehele getallen omdat
‫ze alleen zijn ingesteld, ze hebben alleen een waarde als ze een getal zijn, OK, dus anders ze zullen nooit worden
‫ingesteld, ze zullen leeg zijn.
‫En wat we dan moeten doen, is hier iets teruggeven.
‫Dus ik ga terug naar string.
‫Het resultaat dus.
‫Als iemand nu probeert het resultaat in te stellen, ga ik gewoon het volgende doen.
‫Dus het ingestelde eindresultaat zal hetzelfde zijn als wat we hier hebben gedaan, alleen dat we het niet
‫teruggeven, maar we hebben het zo ingesteld dat er rust komt.
‫En nu hier binnen, hebben we een beroep gedaan op eigendom, veranderd voor onze resultaten, en hetzelfde geldt voor ons nummer tot en met
‫verdoofd één.
‫Dus dat verandert op onroerend goed, zoals u zich kunt herinneren, verandert de waarde van het onroerend goed.
‫Dus eigendom veranderde gebeurtenis ARG's, en het gaat de eigenschap opnemen en het
‫gaat deze eigenschap gewijzigde gebeurtenis noemen en dan al die eigenschappen.
‫Dus de nummer één eigenschap, de nummer twee eigenschap en het resultaat één zullen worden gemeld en ons resultaat moet
‫worden gewijzigd.
‫Dus wat ik wil, is dat elke keer dat iemand een nummer invoert, dit nummer drie ook
‫wordt gewijzigd.
‫En voordat we dat kunnen controleren of testen, moeten we naar ons dot-dot-bestand gaan en daadwerkelijk een object
‫of een klasse maken.
‫Dus we hebben dezelfde klasse gemaakt en ik ga door en maak een nieuw object.
‫Ik ga het hier maken, wat niet alleen een object wordt, het wordt ook een eigendom.
‫Dus een object gaat het halen en instellen.
‫Om daar toegang toe te krijgen, moeten we onze informatie ook openbaar maken.
‫Dus laten we deze klasse openbaar maken en nu kunnen we doorgaan en een object gebruiken.
‫Nu, ik kan dit een object instellen, een object hier aan het begin, en ik ga zeggen dat het een nieuwe som
‫is met de waarde dat niet één één is.
‫En nummer twee, met een waarde van, laten we zeggen, drie.
‫En zoals je ziet, we hebben hier twee strings omdat het anders niet werkt omdat die eigenschappen, het
‫zijn strings.
‫Rechts.
‫Dus wat ik nu moet bellen, of wat ik moet instellen, is de gegevenscontext voor ons een of ander object, omdat er
‫anders niets gebeurt.
‫Dus laten we dit nu uitvoeren.
‫En dan zie je, we hebben nooit nummer drie genoemd, wat het resultaat is.
‫En misschien is het zelfs nog beter als we het resultaten noemen.
‫Dus laten we hierheen gaan en het label veranderen in het resultaat of misschien zelfs wat.
‫Dus dit wordt de som, misschien zelfs zoiets als die van nummer één en nummer twee.
‫OK, dus laten we het nu opnieuw uitvoeren.
‫En jij bent één plus drie is vier, dus laten we het nu veranderen in laten we zeggen 25 en zoals je ziet is het veranderd.
‫Dus nu is de waarde van drie veranderd in 31, je ziet 56.
‫Nu, als ik die waarde hier verander.
‫Zie je, het gaat terug naar zijn normale waarde, want wat we hier in de Setter hebben gedaan, als iemand probeert het
‫resultaat in te stellen, zetten we het resultaat gewoon op de waarde van en voorbij nummer één en nummer
‫twee.
‫Dus het gaat altijd terug naar het werkelijke resultaat als we ooit hebben geprobeerd het resultaat van ons stringresultaat in te
‫stellen.
‫OK, dus nu kun je hiermee spelen en je kunt berekenen wat je wilt en je
‫zult realtime antwoorden hebben, meer realtime.
‫Nou, sommen van je twee waarden.
‫Je kunt doorgaan en er nog een toevoegen of je kunt nu doorgaan en dat veranderen in een vermenigvuldiger.
‫Maar nu weet ik dat het nogal wat was dat we moesten doen.
‫En dus wil ik het nog een keer heel snel met je doornemen.
‫Dus in het Zemo-bestand hadden we die drie labels en die drie tekstvakken, die slechts de UI-elementen zijn.
‫Rechts.
‫En de tekst van elk daarvan is verbonden.
‫Dus deze heeft het pad naar nummer één.
‫Deze is de weg naar die twee.
‫En deze heeft het pad, het resultaat.
‫En dat zijn die hier.
‫Dus de nummer één, de nummer twee en nummer drie eigenschappen, we hebben een extra klasse gemaakt, die erft van
‫de door mij aangemelde widget voor gewijzigde eigenschappen, wat een interface is met deze eigenschap gewijzigde gebeurtenis-handler,
‫wat een gebeurtenis is en die eigenschap wordt genoemd veranderd.
‫Nu hebben we een methode gemaakt met de naam On Property Changed, die elke keer wordt aangeroepen als een van onze eigenschappen
‫wordt gewijzigd.
‫En dat gebeurt zodra een eigenschap is ingesteld.
‫Dus we hebben deze eigenschap, nummer één.
‫En als iemand die waarde van Namwon probeert in te stellen, noemen we dit gewoon op eigendom
‫veranderd.
‫En hier plaatsen we het pand.
‫Dus we zeggen, OK, geef me een eigenschap en we veranderen die eigenschap in de waarde die werd gegeven.
‫Dus het is zo'n beetje dat we het instellen, maar tegelijkertijd stellen we niet alleen degene die we momenteel instellen
‫in termen van in het midden.
‫Dus we stellen hier niet alleen niemand in, maar we stellen ook het resultaat in en we stellen niet de en hier zie je
‫deze regel hier.
‫Het stelt dit veld zo in dat dit veld voor de privé-tekenreeks wordt gewijzigd en dit bij wijziging van de eigenschap verandert
‫de eigenschap zelf.
‫Dus het gaat de waarde van het onroerend goed zelf veranderen.
‫Maar tegelijkertijd verandert het de waarde van het eigendomsresultaat.
‫Dus het gaat ons resultaat bijwerken elke keer dat we de waarde van één wijzigen.
‫En hetzelfde geldt ook voor hen.
‫En hetzelfde geldt voor ons resultaat, waar ik elke keer zei dat het resultaat wordt gewijzigd, we willen
‫doorgaan en dit op onroerend goed noemen.
‫Ook gewijzigde werkwijze.
‫Juist, dus nu zie je hoe je I-95 eigenschap gewijzigd kunt gebruiken, hoe je deze interface kunt gebruiken en je kunt het op meerdere
‫verschillende manieren gebruiken, en het is echt interessant om het te gebruiken wanneer een eigenschap wordt
‫gewijzigd.
‫Dus laten we zeggen dat de kleur is veranderd en je wilt een gebeurtenis activeren die een paar
‫mooie animaties gaat doen of iemand drukt op een knop die zal veranderen en een eigenschap ergens in je programma.
‫En wil je dat er daarna nog iets moois gebeurt, dan kun je dat hier allemaal mee regelen.
‫Ik heb de eigenschap dat de interface met u is gewijzigd, op de hoogte gebracht, natuurlijk hoeft u hier een overervingscorrelatie te creëren tussen
‫de klasse die u gebruikt.
‫En ik meld eigendom veranderd.