MVVMCROSS.Plugin.Fieldbinding -laajennus on osa MVVMCrossin RIO: n sitoutumislaajennuksia, jotka on suunniteltu parantamaan tietojen sitomisominaisuuksia sallimalla kenttien käytön tietolähteinä ominaisuuksien rinnalla. Tässä ovat tämän laajennuksen pääpiirteet:
1. Kenttäpohjainen datan sitominen: Perinteisesti MVVMCross-datan sitominen riippuu ominaisuuksista. Fieldbinding -laajennuksen avulla voit kuitenkin käyttää näkymämallissasi julkisia kenttiä tietojen sitomisen lähteinä. Tämä joustavuus on erityisen hyödyllinen, kun haluat sitoutua suoraan kenttiin ilman ominaisuuksia [1] [4].
2. Kenttien tukeva tuki: Laajennus tukee `inotifyChanged` -käyttöä dynaamisiin kenttiin. Tämä tarkoittaa, että kentät voivat ilmoittaa käyttöliittymästä muutoksista, samanlaisia kuin ominaisuudet "InotifyPropertyChanged" kanssa. Tämä saavutetaan käyttämällä luokkia, kuten `inc` (ilmoita muutettu), jota voidaan käyttää havaittavissa olevien kenttien luomiseen [1].
3. Yhteensopivuus ja alustatuki: Fieldbinding -laajennus on puhdas .NET -vakiolaajennus, joten se on yhteensopiva MVVMCrossin tukemilla eri alustoilla, mukaan lukien Xamarin IOS, Xamarin Android, Xamarin Forms, Windows ja MAC [1] [7].
4. Integraatio muihin laajennuksiin: Fieldbinding -laajennusta voidaan käyttää yhdessä muiden MVVMCross -laajennusten kanssa, kuten mvvmcross.plugin.all -paketti, joka sisältää kaikki mvvmcross -laajennukset ja mvvmcross.plugins.validation.forfieldbinding, joka tarjoaa validointitukea kenttäsitoille [7].
5. Voit esimerkiksi luoda kenttiä, kuten `public Readonly Inc ID = uusi NC ();` ja sitoa ne käyttöliittymän komponentteihin käyttämällä MVVMCross Binding Syntaksia [1].
6. Sidontasyntaksi: Laajennus tukee erilaisia sitoutumissyntaksia, mukaan lukien XML-pohjaiset sidokset Androidille ja sujuville sidoksille alustoille, kuten iOS. Voit esimerkiksi sitoa "TextView" -sovelluksen Androidissa käyttämällä XML: ää, kuten `Local: mvxBind = 'Text FirstName' [1] [4].
Kaiken kaikkiaan mvvmcross.plugin.fieldbinding -laajennus tarjoaa joustavamman lähestymistavan tietojen sitomiseen sallimalla kenttien käytön, mikä voi yksinkertaistaa tiettyjä skenaarioita ja parantaa koodin luettavuutta.
Viittaukset:[1] https://www.mvvmcross.com/documentation/plugins/fieldbinding
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[3] https://www.mvvmcross.com/mvvmcross-5-release/
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://www.mvvmcross.com/documentation/fundamentals/viewModel-lifecycle
[6] https://github.com/mvvmcross/mvvmcross/issues/2607
[7] https://www.nuget.org/packages/mvmcross.plugin.fieldbinding/
[8] https://www.mvvmcross.com/documentation/fundamentals/logging-new