Dotnet wpf_binding együttműködési projektek

Először Binding Ez az adat kötelező, könnyű, és azt hiszem, mindenki tisztában van vele, és bárki számára nem lenne egy kinyilatkoztatás. De nem mindenki tudja, hogy mi köt, és mit kell tenni, nos, próbáljuk meg kitalálni. Az első és legfontosabb, hogy hasznos, amit kapunk, ha a kötődési # „s az elválasztás a fogalmak logikai és vizuális, vagyis durván szólva, van egyfajta»arc«, amit mutat, hogy a felhasználó, és az adatok logikai amelyek mögött ez a»pofa«. Tehát kezdjük egy egyszerű példát, hogy hogyan kezdődött az egész.

és így a kód adatainak a logika, hogy SampleBinding.cs file:

hogy mi kell, az a program kezdetekor betöltött vonal helloBox «Kattints Szia gombra» módosíthatja a szöveget «Helló» egy gomb megnyomásával, úgy tűnik, minden könnyű, de a program elindítása után, azt látjuk, hogy semmi sem működik. Miért mondod, mert van egy string szöveg = »» volt, hogy adjanak nekünk egy kampóra, hanem azért, mert egyszerűen csak pattintsa nem jelent semmit, mert nem adja meg egy ablak, ahol az adatokhoz jutni, de van egy link, amit nem mondta. Meg kell adni az ablakunk DataContext az adatokat, amelyhez kötődni fog a formába. DataContext van, és még inkább ítélve a vonal Window x: Class = «WpfBinding.SampleBinding» ez már hozzá van ablakunk, de mindegy, hogy teljes a kötő kissé módosítani a kódot a következőképpen.

Nézzük meg, mi változott a kód ablakban. És ez megváltoztatta a tény, hogy mi adta a nevét az osztály sampleWindow ablakunk, és azt mondta a szövegmezőbe, szükséges, hogy az adatokat egy tételt a nevét az út sampleWindow TextData, lényegében azt kívánja neki, hogy ez ugyanaz a DataContext. De ez még nem elég, mert az inicializálás az ablak, amikor a teremtés után az elemek beállítása nem lehet inicializálni kötelező TextData és ragaszkodunk egy üres mező. Tehát hogyan lehet az, hogyan kell mondani az ablakot, vagy akár az ablakot, és a szöveg mező, amely az adatokat az osztályunkban logikai megváltozott. Ehhez szükségünk van, hogy a mágia felület, amiről gyakran emlékeztetett válaszul kérdések adatok kötelező téma a fórumunkon, és mivel senki nem akar látni közelről, ez körülbelül INotifyPropertyChanged származó System.ComponentModel. Amit ad nekünk, és ő ad nekünk az egyetlen esemény, küld egy ablak PropertyChangedEventArgs bejelenti, hogy megváltozott a területen, hogy frissíti az adatokat. És hogyan fog kinézni SampleBinding.cs kód módosítás után

Úgy véljük, hogy mi van. Ennek eredményeként végrehajtásának INotifyPropertyChanged mint mondtam, mielőtt kap egy esemény nyilvános esemény PropertyChangedEventHandler PropertyChanged odaadó üzenet mezőbe a neve osztály adatmezőket, amelyben voltak változások az adatokat úgy, hogy az ablak is frissítheti annak kijelzőn. Így kiderül, hogy nem annyira a sikeres adatok felhasználása kötelező, azaz az ablak elemek, akik tudják, hogy hol és hogyan kell az adatokat, és a logika, aki képes időben tájékoztatni arról, hogy mi az adatok megváltoztak ...