Vystavení veřejných vlastností pro vazbu v MVVMCrossu je zásadní pro efektivní vazbu dat mezi pohledy a modely pohledu. Zde je několik osvědčených postupů, které je třeba sledovat:
Porozumění závazným konceptům
V MVVMCross zahrnuje vazba připojení zdrojové vlastnosti v modelu pohledu s cílovou vlastností na pohledu. Zdrojem je obvykle veřejný majetek v modelu View, zatímco cílem je veřejný majetek podle názoru, na který se chcete vázat na [1].
Public Properties
Aby byla nemovitost závazná v MVVMCrossu, musí být veřejná. To platí jak pro model pohledu, tak pro pohled. Pokud používáte vlastní zobrazení nebo ovládání, ujistěte se, že vlastnosti, které chcete vázat, jsou veřejné [1] [2].
Implementace inotifyPropertyChanged
V modelu View implementujte inotifyPropertyChanged, aby se při změně vlastností oznámil vazebný motor. MVVMCross poskytuje pomocné metody jako `setProperty` on` mvxViewModel` pro zjednodušení tohoto procesu. Tím je zajištěno, že změny v modelu pohledu se odrážejí v pohledu [4].
Vlastní cílové vazby
Pokud potřebujete vázat vlastnosti v režimu Twoway nebo zpracovat vlastní scénáře, možná budete muset vytvořit vlastní cíl. To zahrnuje definování, jak nastavit hodnotu vlastnosti a jak poslouchat změny. Pro zjednodušení procesu můžete použít základní třídy jako `mvxPropertyInfoTargetBinding` nebo` mvxWithEventProperTyInfoTargetBinding` [2].
Registrace cílových vazeb
Po vytvoření vlastního cílového blokování musíte jej zaregistrovat do souboru `Setup.cs` přepsáním` FillTargetFactories`. Tím je zajištěno, že MVVMCross ví, jak zacházet s vašimi vlastními vazbami [2].
Fluent Vazby
MVVMCross podporuje plynulé vazby, které vám umožňují definovat vazby v kódu. Při používání plynulých vazeb se ujistěte, že cílem je skutečný pohled, na který se chcete vázat nebo odhalit požadovanou vlastnost jako veřejnost [1].
Vnořené vlastnosti
MVVMCross podporuje vazbu na vnořené vlastnosti. Například se můžete vázat na vlastnost modelu dílčího zobrazení. Zajistěte, aby model dílčího zobrazení implementoval `inotifyPropertyChanged` a že vazebná cesta je správně specifikována [5].
Ladění vazby
Pokud vazby nefungují podle očekávání, použijte ke zvýšení úrovně trasování vazebné dráhy `mvxBindingTrace`. To může pomoci identifikovat problémy poskytnutím podrobného výstupu o vazebných operacích [5].
Dodržováním těchto osvědčených postupů můžete efektivně vystavovat a vázat veřejné vlastnosti v MVVMCross a zajistit robustní a udržovatelné aplikace MVVM.
Citace:[1] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[2] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
[3] https://stackoverflow.com/questions/79082019/what-s-the-shest-pactice-to-bind-and-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-mvvmcross
[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----bind-properties
[8] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup