MVVMCross.plugin.fieldbinding eklentisi, alanların özelliklerin yanında veri kaynakları olarak kullanılmasına izin vererek veri bağlama özelliklerini geliştirmek için tasarlanmış MVVMCross için Rio bağlama uzantılarının bir parçasıdır. İşte bu eklentinin ana özellikleri:
1. Alan Tabanlı Veri Bağlama: Geleneksel olarak, MVVMCross veri bağlanması özelliklere dayanır. Ancak, Fieldbinding eklentisi ile ViewModel'inizdeki kamu alanlarını veri bağlama kaynakları olarak kullanabilirsiniz. Bu esneklik, özellikle özelliklere ihtiyaç duymadan doğrudan alanlara bağlanmak istediğinizde yararlıdır [1] [4].
2. Alanlar için Inotifychanged Destek: Eklenti, dinamik alanlar için `` inotifychanged '' kullanımını destekler. Bu, alanların, özelliklerin `inotifypropertyChanged 'ile nasıl yaptığına benzer şekilde kullanıcı arayüzünü değişiklikler hakkında bilgilendirebileceği anlamına gelir. Bu, gözlemlenebilir alanlar oluşturmak için kullanılabilen `` inc '' (değiştirildiği bildirim) gibi sınıfların kullanımı ile elde edilir [1].
3. Uyumluluk ve Platform Desteği: Fieldbinding eklentisi saf bir .NET standart eklentisidir, bu da Xamarin iOS, Xamarin Android, Xamarin Forms, Windows ve Mac [1] [7] dahil olmak üzere MVVMCross tarafından desteklenen çeşitli platformlarda uyumlu hale getirir.
4. Diğer eklentilerle entegrasyon: Fieldbinding eklentisi, tüm MVVMCross eklentileri ve MVVMCross.plugins.validation.forfieldbinding'i içeren MVVMCross.plugin.lul paketi gibi diğer MVVMCross eklentileri ile birlikte kullanılabilir.
5. ViewModels'te Kullanım: ViewModels'te, alanları `` inc '' gibi sınıfları kullanarak tanımlayabilir ve bunları doğrudan UI öğelerine bağlayabilirsiniz. Örneğin, `public Readonly Inc ID = new Nc ();` gibi alanlar oluşturabilir ve bunları MVVMCross bağlanma sözdizimi kullanarak UI bileşenlerine bağlayabilirsiniz [1].
6. Bağlanma Sözdizimi: Eklenti, Android için XML tabanlı bağlamalar ve iOS gibi platformlar için akıcı bağlamalar dahil olmak üzere çeşitli bağlayıcı sözdizimlerini destekler. Örneğin, `` local: mvxbind = 'text firstName'` [1] [4] gibi XML kullanarak Android'de bir `textView` `textView' bağlayabilirsiniz.
Genel olarak, mvvmcross.plugin.Flugining eklentisi, belirli senaryoları basitleştirebilen ve kod okunabilirliğini artırabilen alanların kullanılmasına izin vererek veri bağlamasına daha esnek bir yaklaşım sunar.
Alıntılar:[1] https://www.mvvmcross.com/documentation/plugins/fieldbinding
[2] https://www.mvvmcross.com/documentation/adved/customizing-using-app-and-setup
[3] https://www.mvvmcross.com/mvvmcross-5-reelease/
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://www.mvvmcross.com/documentation/fundament/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/fundament/logging-new