Το plugin MVVMCROSS.plugin.fieldBinding είναι μέρος των επεκτάσεων δέσμευσης του RIO για το MVVMCROSS, που έχει σχεδιαστεί για να ενισχύει τις δυνατότητες δέσμευσης δεδομένων επιτρέποντας την χρήση πεδίων ως πηγές δεδομένων παράλληλα με τις ιδιότητες. Εδώ είναι τα κύρια χαρακτηριστικά αυτού του plugin:
1. Ωστόσο, με το plugin FieldBinding, μπορείτε να χρησιμοποιήσετε δημόσια πεδία στο ViewModel σας ως πηγές για δέσμευση δεδομένων. Αυτή η ευελιξία είναι ιδιαίτερα χρήσιμη όταν θέλετε να συνδεθείτε απευθείας με πεδία χωρίς την ανάγκη για ιδιότητες [1] [4].
2. Υποστηρίξτε την υποστήριξη για πεδία: Το plugin υποστηρίζει τη χρήση του `inotifyChanged 'για δυναμικά πεδία. Αυτό σημαίνει ότι τα πεδία μπορούν να ειδοποιήσουν το UI σχετικά με τις αλλαγές, παρόμοιες με τον τρόπο με τον οποίο οι ιδιότητες κάνουν με το `inotifypropertyChanged '. Αυτό επιτυγχάνεται μέσω της χρήσης κλάσεων όπως το `inc` (ειδοποιήστε την αλλαγή), η οποία μπορεί να χρησιμοποιηθεί για τη δημιουργία παρατηρήσιμων πεδίων [1].
3. Συμβατότητα και υποστήριξη πλατφόρμας: Το plugin FieldBinding είναι ένα καθαρό .NET Standard Plugin, καθιστώντας το συμβατό σε διάφορες πλατφόρμες που υποστηρίζονται από το MVVMCROSS, συμπεριλαμβανομένων των Xamarin iOS, Xamarin Android, Xamarin Forms, Windows και Mac [1] [7].
4. Ενσωμάτωση με άλλα plugins: Το plugin fieldbinding μπορεί να χρησιμοποιηθεί σε συνδυασμό με άλλα plugins MVVMCross, όπως το πακέτο MVVMCross.plugin.All, το οποίο περιλαμβάνει όλα τα plugins MVVMCROSS και το MVVMCROSS.plugins.validation.forfieldBinding, το οποίο παρέχει υποστήριξη επικύρωσης για το πεδίο [7].
5. Χρήση στο ViewModels: Στο ViewModels, μπορείτε να ορίσετε πεδία χρησιμοποιώντας κλάσεις όπως `inc` και να τα δεσμεύσετε απευθείας σε στοιχεία UI. Για παράδειγμα, μπορείτε να δημιουργήσετε πεδία όπως `public readonly inc id = new nc ();` και να τα δεσμεύσετε σε συστατικά UI χρησιμοποιώντας τη σύνταξη δέσμευσης MVVMCROSS [1].
6. Σύνταξη δέσμευσης: Το plugin υποστηρίζει διάφορες συντακτικές σύνταξης, συμπεριλαμβανομένων των δεσμεύσεων που βασίζονται σε XML για το Android και τις άπταιστες δεσμεύσεις για πλατφόρμες όπως το iOS. Για παράδειγμα, μπορείτε να δεσμεύσετε ένα `textView` στο Android χρησιμοποιώντας το XML όπως το` local: mvxbind = 'text firstName' '[1] [4].
Συνολικά, το plugin MVVMCROSS.plugin.FieldBinding προσφέρει μια πιο ευέλικτη προσέγγιση για τη δέσμευση δεδομένων επιτρέποντας τη χρήση πεδίων, τα οποία μπορούν να απλοποιήσουν ορισμένα σενάρια και να βελτιώσουν την αναγνωσιμότητα του κώδικα.
Αναφορές:[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/mvvmcross.plugin.fieldbinding/
[8] https://www.mvvmcross.com/documentation/fundamentals/logging-new