MVVMCross'ta bağlanma için genel mülklerin ortaya çıkması, görünümler ve görünüm modelleri arasında etkili veri bağlanması için çok önemlidir. İşte takip edilecek en iyi uygulamalar:
Bağlayıcı Kavramları Anlama
MVVMCROSS'ta bağlama, görünüm modelindeki bir kaynak özelliğin görünümdeki bir hedef özelliğe bağlanmasını içerir. Kaynak genellikle görüntüleme modelinde bir kamu mülkiyetidir, hedef ise [1] 'e bağlanmak istediğiniz görüşte bir kamu mülkiyetidir.
Genel Mülkler
Bir mülkün MVVMCross'ta bağlanabilir olması için halka açık olmalıdır. Bu hem görünüm modeli hem de görünüm için geçerlidir. Özel bir görünüm veya kontrol kullanıyorsanız, bağlamak istediğiniz özelliklerin genel olduğundan emin olun [1] [2].
InotifyPropertyChanged uygulama
Görünüm modelinde, özellikler değiştiğinde bağlayıcı motoru bilgilendirmek için inotifypropertychanged uygulayın. MVVMCross, bu işlemi basitleştirmek için `MVXViewModel 'üzerinde' SetProperty 'gibi yardımcı yöntemler sağlar. Bu, görünüm modelindeki değişikliklerin görüşe yansıtılmasını sağlar [4].
Özel Hedef Bağlamalar
Twoway moduna özellikleri bağlamanız veya özel senaryoları kullanmanız gerekiyorsa, özel bir hedefleme oluşturmanız gerekebilir. Bu, mülk değerinin nasıl ayarlanacağını ve değişikliklerin nasıl dinleneceğini tanımlamayı içerir. Süreci basitleştirmek için `mvxpropertyinfotargetbinding` veya` mvxwitheventpropertyinfotargetbinding` gibi temel sınıfları kullanabilirsiniz [2].
Hedef Bağlamaları Kaydetmek
Özel bir Targetbinding oluşturduktan sonra, `FillTargetFactories'i geçersiz kılarak` setup.cs` dosyasına kaydetmelisiniz. Bu, MVVMCross'un özel bağlamalarınızı nasıl ele alacağınızı bilmesini sağlar [2].
Akıcı Bağlamalar
MVVMCross, koddaki bağlamaları tanımlamanıza izin veren akıcı bağlamaları destekler. Akıcı bağlamalar kullanırken, hedefin bağlamak istediğiniz gerçek görünüm olduğundan emin olun veya istenen mülkü kamu olarak ortaya çıkarın [1].
iç içe geçmiş özellikler
MVVMCross, iç içe geçmiş özelliklere bağlanmayı destekler. Örneğin, bir alt görüş modelinin bir özelliğine bağlanabilirsiniz. Alt görüş modelinin `` inotifypropertyChanged 'uyguladığından ve bağlanma yolunun doğru şekilde belirtildiğinden emin olun [5].
Hata Ayıklama Bağlamaları
Bağlamalar beklendiği gibi çalışmıyorsa, bağlanma izleme seviyesini artırmak için `mvxbindingtrace 'kullanın. Bu, bağlanma işlemleri hakkında ayrıntılı çıktı sağlayarak sorunların belirlenmesine yardımcı olabilir [5].
Bu en iyi uygulamaları izleyerek, MVVMCross'taki genel mülkleri etkili bir şekilde ortaya çıkarabilir ve bağlayarak sağlam ve sürdürülebilir MVVM uygulamaları sağlayabilirsiniz.
Alıntılar:[1] https://blog.
[2] https://www.mvvmcross.com/documentation/adved/custom-data-binding
[3] https://stackoverflow.com/questions/79082019/what-is-the-best-practice-to-bind-and-anipulate-properties-on-a-user-control-in
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/20986140/binding-sub-properties-mvmcross
[6] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[7] https://stackoverflow.com/questions/10700445/in-mvvmcross-do-do---do-custom-bind-properties
[8] https://www.mvvmcross.com/documentation/adved/customizizing-using-app-and-setup