Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ما هي الاختلافات بين استخدام المطلوب و bindRequired في MVVMCROSS


ما هي الاختلافات بين استخدام المطلوب و bindRequired في MVVMCROSS


في MVVMCROSS ، لا تنطبق المصطلحات المطلوبة و bindRequired مباشرة كما هي في ASP.NET CORE. ومع ذلك ، يمكن أن يساعد فهم أدوارهم في ASP.NET Core في توضيح كيفية تطبيق المفاهيم المماثلة في MVVMCROSS.

ASP.NET Core Context

- المطلوبة: هذه السمة تضمن أن الخاصية ليست فارغة أو فارغة بعد حدوث ربط النموذج. يتم استخدامه في المقام الأول لأغراض التحقق من الصحة ، مما يضمن ملء الحقول الإلزامية في أشكال أو سيناريوهات إدخال البيانات [1] [3] [6].

- BindRequiredattribute: تضمن هذه السمة وجود خاصية في البيانات الواردة أثناء ربط النموذج. على عكس المطلوب ، فإنه يتحقق من وجود الخاصية في بيانات الطلب ، وليس فقط قابليتها للاغفل [1] [3] [4].

MVVMCROSS سياق

في MVVMCROSS ، ينصب التركيز على ربط البيانات بين العرض و ViewModel. لا يستخدم الإطار السمات المطلوبة أو المطلوبة مباشرة. بدلاً من ذلك ، يعتمد على أوضاع الربط مثل Oneway أو TwoWay لإدارة مزامنة البيانات بين العرض و ViewModel [2] [7].

- أوضاع الربط في MVVMCROSS:
- Oneway: تتدفق البيانات من ViewModel إلى العرض.
- Twoway: تدفق البيانات في كلا الاتجاهين بين العرض و ViewModel. هذا هو الوضع الافتراضي للربط المخصص في MVVMCROSS [7].

لتحقيق وظائف مماثلة للمطلوبة أو المطلوبة في MVVMCROSS ، يمكنك عادةً تنفيذ منطق التحقق من الصحة في ViewModel أو استخدام ارتباطات مخصصة لضمان تحديث خصائص معينة بشكل صحيح. على سبيل المثال ، قد تستخدم InotifyPropertyChanged لإخطار عرض التغييرات في ViewModel ، مع التأكد من أن البيانات محدثة دائمًا [2] [8].

تنفيذ التحقق من الصحة في MVVMCROSS

على الرغم من أن MVVMCROSS لا يدعم مباشرة المطلوب أو bindRequired ، يمكنك تنفيذ التحقق من الصحة عن طريق التحقق من قيم فارغة أو فارغة ضمن خصائص ViewModel الخاصة بك. يمكن القيام بذلك يدويًا أو باستخدام أطر التحقق من الصحة التي تتكامل مع MVVMCROSS.

ملخص

باختصار ، على الرغم من أن المطلوب و bindRequired خاص بـ ASP.NET Core لضمان وجود البيانات والتحقق منها ، فإن MVVMCross يعتمد على آليات الربط ومنطق التحقق المخصص لإدارة تكامل البيانات. إذا كنت بحاجة إلى التأكد من وجود بيانات معينة أو صالحة في MVVMCROSS ، فعادة ما تقوم بتنفيذ هذا المنطق ضمن ViewModel أو من خلال الارتباطات المخصصة.

الاستشهادات:
[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
[3]
[4]
[5] https://www.mvvmcross.com/documentation/plugins/methodbinding
[6] https://towardsdev.com/mastering-the-use-of-requiredattribute-a-dailed-comparison-of-required-vs-bindrequired-b3feaf108ef5
[7] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-used-in-a-project
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding