Julkisten ominaisuuksien paljastaminen sitoutumiselle MVVMCrossissa on ratkaisevan tärkeää näkymien ja näkymämallien väliselle tiedon sitomiselle. Tässä on joitain parhaita noudattavia käytäntöjä:
sitovien käsitteiden ymmärtäminen
MVVMCROSS: ssä sitoutuminen sisältää lähdeominaisuuden yhdistämisen näkymämalliin kohderyhmään näkymän kohdeominaisuuteen. Lähde on tyypillisesti julkinen ominaisuus näkymämallissa, kun taas kohde on julkinen omaisuus näkemyksessä, johon haluat sitoutua [1].
Julkiset kiinteistöt
Jotta kiinteistö on sitova MVVMCrossissa, sen on oltava julkinen. Tämä koskee sekä näkymämallia että näkymää. Jos käytät mukautettua näkymää tai hallintaa, varmista, että haluamasi ominaisuudet ovat julkisia [1] [2].
INOTIFYPROPERTYCHANGED
Näkymämallissa toteuta INotifyPropertyChanged ilmoittamaan sitova moottori, kun ominaisuudet muuttuvat. MVVMCROSS tarjoaa auttajamenetelmiä, kuten `setProperty`` mvxviewModel` -sovelluksessa tämän prosessin yksinkertaistamiseksi. Tämä varmistaa, että näkymämallin muutokset heijastuvat näkymässä [4].
Mukautetut kohdesuhteet
Jos joudut sitomaan ominaisuudet Twoway -tilassa tai käsittelemään mukautettuja skenaarioita, saatat joutua luomaan mukautetun tavoitteen sitoutumisen. Tähän sisältyy ominaisuuksien arvo ja muutosten kuunteleminen. Voit käyttää perusluokkia, kuten `mvxpropertyInfoTargetBinding` tai` mvxwithEventPropertyInfoTargetBinding` prosessin yksinkertaistamiseksi [2].
Kohdissidoksien rekisteröinti
Kun olet luonut mukautetun tavoitteenohjauksen, sinun on rekisteröitävä se "setup.cs` -tiedostoon ohittamalla` FillTargetFactores`. Tämä varmistaa, että MVVMCross osaa käsitellä mukautettuja sidoksia [2].
Fluend Sidokset
MVVMCross tukee sujuvia sidoksia, joiden avulla voit määritellä sidokset koodissa. Kun käytät sujuvia siteitä, varmista, että kohde on todellinen näkemys, johon haluat sitoutua, tai paljasta haluttu ominaisuus julkisina [1].
Sisäkkäiset kiinteistöt
MVVMCross tukee sitoutumista sisäkkäisiin ominaisuuksiin. Voit esimerkiksi sitoutua alakulmamallin ominaisuuteen. Varmista, että alaviivamalli toteuttaa "inotifyPropertyChanged" ja että sitoutumispolku on määritetty oikein [5].
Virheenkorjaussidokset
Jos sidokset eivät toimi odotetusti, käytä `mvxBindingTrace 'lisätäksesi sidontatasoa. Tämä voi auttaa tunnistamaan ongelmat tarjoamalla yksityiskohtaisen tulosteen sitoutumistoiminnoista [5].
Noudattamalla näitä parhaita käytäntöjä voit paljastaa ja sitoa julkisia ominaisuuksia MVVMCrossissa varmistaen vankan ja ylläpidettävän MVVM -sovelluksen.
Viittaukset:[1] https://blog.ostebaronen.dk/2018/01/mvmcross-binding-target.html
[2] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
.
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/20986140/binding-sub-properties-mvvmcross
.
.
[8] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup