Wtyczka MVVMCROSS.PLUGIN.FIELDBINDING jest częścią rozszerzeń wiązania Rio dla MVVMCROSS, zaprojektowanej w celu zwiększenia możliwości wiązania danych poprzez umożliwienie wykorzystaniu pól jako źródeł danych wraz z właściwościami. Oto główne cechy tej wtyczki:
1. Wiązanie danych oparte na terenie: Tradycyjnie wiązanie danych MVVMCROSS opiera się na właściwościach. Jednak dzięki wtyczce wiążącym teren można używać pól publicznych w swoim ViewModel jako źródła wiązania danych. Ta elastyczność jest szczególnie przydatna, gdy chcesz powiązać bezpośrednio z pól bez potrzeby właściwości [1] [4].
2. InotifyChanged wsparcie dla pól: Wtyczka obsługuje użycie „inotifyChanged” dla pól dynamicznych. Oznacza to, że pola mogą powiadomić interfejs użytkownika o zmianach, podobnie jak właściwości z „inotifyPropertyChanged”. Osiąga się to poprzez zastosowanie klas takich jak `inc` (zmiana powiadomienia), które można użyć do utworzenia obserwowalnych pól [1].
3. Kompatybilność i obsługa platformy: Wtyczka wiążąca field jest standardową wtyczką .NET, dzięki czemu jest kompatybilna na różnych platformach obsługiwanych przez MVVMCross, w tym Xamarin iOS, Xamarin Android, formularze Xamaryny, Windows i Mac [1] [7].
4. Integracja z innymi wtyczkami: Wtyczka wiążąca pola może być używana w połączeniu z innymi wtyczkami MVVMCROSS, takimi jak pakiet MVVMCROSS.PLUGIN.ALL, który zawiera wszystkie wtyczki MVVMCROSS i MVVMCROSS.PLUGINS.VALIDATION.VALDATING.FORDELDBINDING, który zapewnia obsługę sprawdzania poprawności [7].
5. Zastosowanie w ViewModels: W ViewModels możesz zdefiniować pola za pomocą klas takich jak „Inc” i wiązać je bezpośrednio z elementami interfejsu użytkownika. Na przykład możesz utworzyć pola takie jak „public Readonly inc id = new nc ();` i powiązać je z komponentami interfejsu użytkownika przy użyciu składni wiązania MVVMCROSS [1].
6. Składnia wiązania: wtyczka obsługuje różne składni wiązania, w tym powiązania oparte na XML dla Androida i płynne powiązania dla platform takich jak iOS. Na przykład możesz powiązać „TextView” na Androida za pomocą XML takiego jak `local: mvxbind = 'text FirstName'' [1] [4].
Ogólnie rzecz biorąc, wtyczka MVVMCROSS.PLUGIN.FIELDBINDING oferuje bardziej elastyczne podejście do wiązania danych, umożliwiając użycie pól, które mogą uprościć niektóre scenariusze i poprawić czytelność kodu.
Cytaty:[1] https://www.mvvmcross.com/documentation/plugins/fieldbinding
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-andetup
[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/mvvmcross.plugin.fieldbinding/
[8] https://www.mvvmcross.com/documentation/fundamentals/logging-new