Norint veiksmingam duomenų surišimui tarp vaizdų ir rodinio modelių, labai svarbu atskleisti viešąsias savybes MVVMCross. Čia yra keletas geriausių praktikų:
Supratimo įrišimo sąvokos supratimas
„MVVMCross“ įrišimas apima šaltinio nuosavybės prijungimą į vaizdo modelį su tiksline rodinyje esančiu ypatybe. Šaltinis paprastai yra viešoji nuosavybė peržiūros modelyje, o tikslas yra viešoji nuosavybė, kurią norite prisijungti prie [1].
Viešosios savybės
Kad nuosavybė būtų įrišta MVVMCROSS, jis turi būti viešas. Tai taikoma tiek vaizdo modeliui, tiek vaizdui. Jei naudojate pasirinktinį vaizdą ar valdymą, įsitikinkite, kad norimos įrišti savybes yra viešos [1] [2].
„InotifyPropertyChanged“ įgyvendinimas
Peržiūros modelyje įgyvendinkite „InotifyPropertyChange“, kad praneštumėte surišimo varikliui, kai keičiasi savybės. „MVVMCross“ pateikia pagalbinius metodus, tokius kaip „setProperty“, „MvxviewModel“, kad būtų supaprastintas šis procesas. Tai užtikrina, kad rodinio modelio pokyčiai atsispindi rodinyje [4].
Pasirinktiniai taikinių įrišimai
Jei jums reikia surišti ypatybes „Twoway“ režime arba tvarkyti pasirinktinius scenarijus, gali reikėti sukurti pasirinktinį taikinio ryšį. Tai apima, kaip nustatyti nuosavybės vertę ir kaip klausytis pakeitimų. Norėdami supaprastinti procesą, galite naudoti bazines klases, tokias kaip „MvxPropertyInfotargetBinding“ arba „MVXWithEventPropertyInfotARGTBinding“ [2].
Tikslinių įrišimų registravimas
Sukūrę pasirinktinį „TargetBinding“, turite jį užregistruoti „Setup.cs“ faile, viršijant „FillTargetFactores“. Tai užtikrina, kad MVVMCross žino, kaip tvarkyti jūsų pasirinktinius įrišimus [2].
FLUENT įrišimai
„MVVMCross“ palaiko sklandžius įrišimus, kurie leidžia apibrėžti kodo įrišimus. Naudodamiesi laisvai įrišimais, įsitikinkite, kad taikinys yra tikrasis vaizdas, kurį norite surišti, arba atskleisti norimą savybę kaip viešą [1].
įdėtos savybės
MVVMCross palaiko prisijungimą prie įdėtų savybių. Pvz., Galite prisijungti prie sub-peržiūros modelio savybės. Įsitikinkite, kad sub-peržiūros modelis įgyvendina „inotifyPropertyChanged“ ir kad surišimo kelias yra teisingai nurodytas [5].
Derinimo įrišimai
Jei įrišimai neveikia taip, kaip tikėtasi, naudokite „MvxBindingTrace“, kad padidintumėte surišimo pėdsakų lygį. Tai gali padėti nustatyti problemas pateikiant išsamią išėjimo apie surišimo operacijas išvestį [5].
Vykdydami šią geriausią praktiką, galite efektyviai atskleisti ir surišti viešas savybes MVVMCross, užtikrindami patikimas ir prižiūrimas MVVM programas.
Citatos:[1] https://blog.ostebaronen.dk/2018/01/mvvmcross-inding-arget.html
[2] https://www.mvvmcross.com/documentation/advanced/custom-data-galingi
[3] https://stackoverflow.com/questions/79082019/what-is-the-best-praktice-to-d-d-d-manipulate-properties-on-a-user-control-in
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/20986140/binding-sub-properties-svvmcross
[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-how-do-i-do-custom --dproperties
[8] https://www.mvvmcross.com/documentation/advanced/customizing-using-app ir-setup