Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Які найкращі практики виявлення публічних властивостей для прив'язки в MVVMCross


Які найкращі практики виявлення публічних властивостей для прив'язки в MVVMCross


Викриття загальнодоступних властивостей для зв'язування в MVVMCross має вирішальне значення для ефективного зв'язування даних між переглядами та моделями перегляду. Ось кілька найкращих практик, які слід дотримуватися:

Розуміння концепцій прив'язки

У MVVMCross, прив'язка передбачає підключення властивості джерела в моделі перегляду до цільової властивості на перегляді. Джерело, як правило, є публічною власністю в моделі View, тоді як ціль є публічною власністю на думку, яку ви хочете прив’язати до [1].

Публічні властивості

Щоб властивість була обов'язковою в Mvvmcross, вона повинна бути публічною. Це стосується як моделі перегляду, так і перегляду. Якщо ви використовуєте власний вигляд або контроль, переконайтеся, що властивості, які ви хочете прив’язувати, є загальнодоступними [1] [2].

Впровадження inotifyPropertyChanged

У моделі перегляду впроваджуйте InotifyPropertyChanged, щоб повідомити двигун зв'язування, коли властивості змінюються. MVVMCross надає помічниці, такі як `setProperty` на` MvxViewModel` для спрощення цього процесу. Це гарантує, що зміни в моделі перегляду відображаються у перегляді [4].

Спеціальні цільові прив'язки

Якщо вам потрібно прив’язати властивості в режимі Twoway або обробляти спеціальні сценарії, можливо, вам знадобиться створити спеціальне цільове петля. Це передбачає визначення того, як встановити значення властивості та як слухати зміни. Ви можете використовувати базові класи, такі як `mvxpropertyinfotargetbinding` або` mvxwitheventpropertyinfotargetbinding` для спрощення процесу [2].

Реєстрація цільових прив'язок

Після створення користувацького цільового блоку ви повинні зареєструвати його у файлі `setup.cs`, переосмисливши` filltargetFactories`. Це гарантує, що mvvmcross знає, як обробляти свої власні прив’язки [2].

Вільні зв'язки

MVVMcross підтримує вільні зв'язки, що дозволяє визначати зв'язки в коді. Використовуючи вільні зв'язки, переконайтеся, що ціль - це фактичний вигляд, до якого ви хочете прив’язати, або викрити бажану властивість як публіку [1].

Вкладені властивості

MVVMcross підтримує зв'язування з вкладеними властивостями. Наприклад, ви можете зв’язатись з властивістю моделі підрозділу. Переконайтесь, що модель підрозділу реалізує `inotifyPropertyChanged` та що шлях зв'язування правильно вказаний [5].

налагодження прив’язки

Якщо прив’язки не працюють, як очікувалося, використовуйте `mvxbindingtrace`, щоб підвищити рівень трасування зв'язування. Це може допомогти визначити проблеми, надаючи детальний результат щодо операцій зв'язування [5].

Дотримуючись цих найкращих практик, ви можете ефективно викрити та пов'язувати публічні властивості в MVVMcross, забезпечуючи надійні та реконструкції програм MVVM.

Цитати:
[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-is-the-best-practice-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-custom-bind-properties
[8] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup