سؤال

أثناء محاولة تعلم المصدر لتطبيق عينة من Gamelibrary ، رأيت خطًا كهذا:

ConventionManager.AddElementConvention<Rating>(Rating.ValueProperty, "Value", "ValueChanged");

نظرت إلى مصدر Caliburn لكن لم يستطع فهم اتفاقيات العناصر حقًا.

هل يمكن لأحد أن يصف لفترة وجيزة من فضلك؟

هل كانت مفيدة؟

المحلول

ConventionManager.AddElementConvention يتيح لك إنشاء مجموعة من الإعدادات "الافتراضية" المستخدمة من قبل نظام الاتفاقية لكل عنصر نوع.

  • في الحالة المذكورة أعلاه ، قيمة المعلمة الأولى من Rating.ValueProperty يخبر نظام الاتفاقية ما هي الخاصية الافتراضية المربوطة للعنصر. لذلك ، إذا كان لدينا مباراة مؤتمر على Rating السيطرة ، قمنا بإعداد الربط مقابل ValueProperty.

  • تمثل المعلمة الثانية الخاصية الافتراضية المراد استخدامها في روابط العمل. لذلك ، إذا قمت بإنشاء إجراء ملزم بـ ElementName هذا يشير إلى أ Rating السيطرة ، ولكن لا تحدد العقار ، نعود إلى Value منشأه.

  • أخيرًا ، تمثل المعلمة Thrid الحدث الافتراضي لعنصر التحكم. لذلك ، إذا ربطنا إجراءً بالتحكم في التصنيف ، لكن لا نحدد الحدث لتشغيل هذا الإجراء ، فسوف يعود النظام إلى ValueChanged حدث.

تتيح اتفاقيات العناصر هذه للمطور توفير أكبر قدر أو أقل من المعلومات في مجموعة متنوعة من المواقف ، مما يسمح للإطار بملء التفاصيل المفقودة كما AppropTiate.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top