Doplnok MVVMCross.plugin.fieldbinding je súčasťou rozšírenia viazaných Rio pre MVVMCross, navrhnutý na zlepšenie možností väzby na dáta tým, že umožňuje použitie polí ako zdrojov údajov spolu s vlastnosťami. Tu sú hlavné vlastnosti tohto doplnku:
1. Viazanie údajov založených na poli: Viazanie údajov MVVMCROSS sa tradične spolieha na vlastnosti. S doplnkom FieldBinding však môžete vo svojom ViewModel použiť verejné polia ako zdroje pre väzbu údajov. Táto flexibilita je obzvlášť užitočná, ak sa chcete priamo viazať na polia bez potreby vlastností [1] [4].
2. INOTIFICKÁ PODPORA PRE FIELY: Plugin podporuje použitie `Inotifychanged` pre dynamické polia. To znamená, že polia môžu informovať používateľské rozhranie o zmenách, podobné tomu, ako sa vlastnosti robia s `inotifyPropertyChanged`. Toto sa dosahuje pomocou tried ako `inc` (Upozornenie zmenené), ktoré sa dajú použiť na vytvorenie pozorovateľných polí [1].
3. Kompatibilita a podpora platformy: Plugin FieldBinding je čistý štandardný doplnok .NET, vďaka čomu je kompatibilný na rôznych platformách podporovaných MVVMCross, vrátane Xamarin IOS, Xamarin Android, Xamarin Forms, Windows a Mac [1] [7].
4. Integrácia s ostatnými doplnkami: Plugin FieldBinding Plugin sa môže použiť v spojení s inými doplnkami MVVMCross, ako je napríklad mvvmcross.plugin.all, ktorý obsahuje všetky doplnky MVVMCross a MVVMCross.plugins.Validation.ForfieldBinding, ktorý poskytuje podporu validácie pre poľné väzby [7].
5. Použitie v ViewModels: V ViewModels môžete definovať polia pomocou tried ako `inc` a naviazať ich priamo na prvky používateľského rozhrania. Napríklad môžete vytvárať polia ako `public Readonly inc id = new nc ();` a viazať ich na komponenty používateľského rozhrania pomocou syntaxe väzby MVVMCross [1].
6. Väzbová syntax: Plugin podporuje rôzne väzobné syntaxe, vrátane väzieb založených na XML pre Android a plynulé väzby pre platformy ako iOS. Napríklad môžete v systéme Android zviazať `TextView` pomocou xml ako` lokálne: mvxbind = 'text firstName'` [1] [4].
Celkovo ponúka doplnok MVVMCross.plugin.fieldbinding flexibilnejší prístup k väzbe údajov tým, že umožňuje použitie polí, ktoré môžu zjednodušiť určité scenáre a zlepšiť čitateľnosť kódu.
Citácie:[1] https://www.mvvmcross.com/documentation/plugins/fieldbinding
[2] https://www.mvvmcross.com/documentation/advanced/custoughing-using-app-and-setup
[3] https://www.mvvmcross.com/mvvmcross-5-release/
[4] https://www.mvvmcross.com/documentation/funmamentals/data-binding
[5] https://www.mvvmcross.com/documentation/funmamentals/viewmodel-lifecycle
[6] https://github.com/mvvmcross/mvvmcross/issues/2607
[7] https://www.nuget.org/packages/mvvmcross.plugin.fieldbinding/
[8] https://www.mvvmcross.com/documentation/funmamentals/logging-new