بيَان المكون
يعد تكوين بيَان المكون خطوة أسَاسية فِي بنَاء مكون التعليمَات البرمجية. تتم تهيئة ملف ControlManifest.Input.xml ببعض اختيَارَاتك، مثل اسم المكون ونوعه، عِندَ استخدَام الأمر pac pcf init. لا يزَال يتعين عليك تخصيص الملف لتحديد أي خصَائص وموارد تستخدمهَا ولتمكين أي مِن ميزَات إطَار العمل التي تستخدمهَا فِي المكون.
خصَائص المكون
تحدد الخصَائص عقدًا بين مكون الكود وتطبيق الاستضَافة. يجب عليهم تجريد المُصنِّع مِن كيفية تنفيذ المكون مع الاستمرَار فِي توفير إمكانَات قَابلة للتكوين للصَانع باستخدَام المكون. فيمَا يلي بعض الأنواع الشَائعة مِن الخصَائص التي قد تحتَاج إلى إضَافتهَا إلى أحد المكونَات:
- السمَاح لبيَانَات العمل بالمرور مِن مكون التعليمَات البرمجية وإليه. على سبيل المثَال، مِن خلال تمرير موقع جغرَافِي إلى المكون، يمكن أن يعرض المكون خريطة تسلط الضوء على موقع محدد.
- السمَاح بالتحكم فِي ميزَات وسلوكيَات المكونَات. على سبيل المثَال، باستخدَام مثَال الخريطة الخَاص بنَا، يمكن إضَافَة خَاصية تشير إلى مَا إذَا كان بإمكان المُستَخدِم تكبير الخريطة أو تصغيرهَا.
- السمَاح بتخصيص بعض جوانب نمط المكون. على سبيل المثَال، على الخريطة، قد يسمح لك المكون بتخصيص لون الدبوس مِن خلال توفير خَاصية يمكن للصَانع تكوينهَا.
لَقطَة الشَاشة التَالية هي مثَال توضيحي يوضح الخصَائص المحددة لمكون مؤشر التقدم.
عندمَا يقوم المُنشئ بتكوين مكون التعليمَات البرمجية، تكون الخصَائص المحددة فِي البيَان متَاحة للتكوين. توضح هذه الصورة كيفية عرض البيَان أعلاه لمكون مؤشر التقدم للصَانع فِي مصمم التطبيق. توضح هذه الصورة كيفية عرض البيَان أعلاه لمكون مؤشر التقدم للصَانع فِي مصمم التطبيق.
سمَات الملكية
هنَاك عدد من السمَات الخَاصة بالملكية التي يمكنك تهيئتهَا وفقًا لاحتيَاجَاتك. فيمَا يلي أكثر الأشيَاء شيوعًا التي يجب عليك مرَاعَاتهَا:
of-type - تحدد هذه السمة نوع بيَانَات الخَاصية. هنَاك العديد مِن الأنواع للاختيَار مِن بينهَا، مثل SingleLine.Text إلى Enum. تقدم بعض الأنواع، مثل Enum، تجربة تكوين أكثر ثرَاءً للصَانع مِن خلال توفير قَائمة ثَابتة للاختيَار مِن بينهَا. يقوم البعض الآخر بتحديد محتوى البيَانَات بنَاءً على النوع الذي يمكن تمريره مِن تطبيق الاستضَافة. بعضهَا أكثر ملاءمة لربط البيَانَات، مثل Lookup.Simple. حَاول دَائمًا تجنب تغيير أنواع البيَانَات فور نشر المكون الخَاص بك.
usage - تحدد هذه السمة مَا إذَا كانت الخَاصية إدخَالاً أو إخرَاجًا أو خَاصية مُقيَّدة. وهي مخصصة للتطبيقَات المستندة إلى النمَاذج. يتوقع الخيَار المُقيَّد أن يكون له عمود بيَانَات جدول مقترن لتقديم قيمة البيَانَات.
required - تشير إلى مَا إذَا كانت قيمة الخَاصية مطلوبة. عند إضَافَة خصَائص جديدة بَعد نشر أحد المكونَات، خذ فِي الاعتبار النتَائج المترتبة على جعل الخَاصية مطلوبة فِي التطبيقَات الموجودة التي تستخدم المكون.
default-value - تحتوي هذه السمة على القيمة الافترَاضية المقدمة إلى المكون. فِي التطبيقَات المستندة إلى النموذج، يُسمح بهذه الخَاصية فقط فِي الخصَائص التي تحتوي على نوع استخدَام الإدخَال. يمكن أن يكون توفير قيمة افترَاضية مفيدًا للمنشئين فِي تقديم فكرة عن الطريقة التي تنوي بهَا تعيين الخَاصية. عند إضَافَة خَاصية جديدة إلى مكون موجود، غَالبًا مَا يتم تعيين القيمة الافترَاضية إلى القيمة التي استخدمهَا المكون قبل أن يصبح قَابلاً للتكوين عبر الخَاصية.
أثنَاء قيَامك بتقييم العقَارَات التي تخطط لإضَافتهَا، إليك بعض الأشيَاء التي يجب مرَاعَاتهَا:
- تجنُّب وجود الكثير مِن الخصَائص فِي المكون الخَاص بك، مَا يتطلب مِن المنشئ التنقل فِي قَائمة طويلة مِن الخيَارَات.
- استخدَام أسمَاء واضحة للخصَائص. توفير تفاصيل كافية فِي الوَصف لإعلام المنشئ بالغرض منه عندمَا يكون ذلك ممكنًا.
- الأخذ فِي الاعتبار إضَافَة بعض الخصَائص للسمَاح للمنشئين بتصميم المكون الخَاص بك. يمكن أن تكون هذه الخصَائص مهمة عندمَا يمكنك استخدَام المكون فِي مجموعة واسعة مِن التطبيقَات.
- تجنب إعَادة تسمية الخصَائص أو إزَالتهَا بَعد نشر المكون الخَاص بك، حيث سيكون ذلك تغييرًا جذريًا للتطبيقَات المستهلكة الحَالية.
موارد المكونَات
تحدد عقدة المورد فِي البيَان ملفات الموارد التي يتطلبهَا المكون. فِي مكون جديد، يحتوي هَذا بشكل أولي على عنصر التعليمَات البرمجية المطلوبة فحسب. يمكنك إضَافَة الموارد الأخرى التي يحتَاج إليهَا مكونك. الأكثر شيوعًا هي css وresx.
يتيح لك عنصر css تحديد ملف CSS (أوراق الأنماط المتتالية) الذي يجب تحميله. يمكنك اختيَاريًا تحديد ترتيب مَا للقيَام بتحميلهَا فِي حَالة تحميل العديد منهَا. التعليمة البرمجية التَالية هي مثَال لتحميل ملفَي CSS.
<css path="css/ComponentCommon.css" order="1" />
<css path="css/ProgressIndicator.css" order="2" />
تحدد عقدة resx فِي البيَان الملف المُستَخدِم لإدَارة السلاسل المترجمة التي تحددهَا. إذَا كنت تريد الترجمة، فمن الأسهل إضَافَة هَذا إلى مكون جديد وتحديثه أثنَاء إضَافَة الخصَائص. يتم استخدَام الخصَائص الموجودة فِي قيمة البيَان لسمَات display-name-key وdescription-key للبحث عن القيمة المترجمة إذَا كان مِن الممكن تحديد موقعهَا فِي ملف مورد resx الذي تم تحميله.
على سبيل المثَال، قم بمرَاجعة تعريف الخَاصية التَالي وكيفية تعريف تلك السمَات.
<property name="PercentComplete" description-key="PercentComplete_Desc" display-name-key="PercentComplete" required="true" usage="input" of-type="Whole.None" default-value="40" />
فِي ملف resx، وهو ملف XML يستخدم Microsoft ResX Schema، يمكنك تحديد عنَاصر البيَانَات التَالية لمفاتيح الخصَائص.
<data name="PercentComplete" xml:space="preserve">
<value>Percent Complete</value>
</data>
<data name="PercentComplete_Desc" xml:space="preserve">
<value>Percent Complete is the current value for how much has been completed.</value>
</data>
يمكنك بَعد ذلك إنشَاء ملف resx منفصل لكل لغة تدعمهَا.
بعد ذلك، فِي عقدة المورد الواضحة الخَاصة بك، يمكنك إضَافَة عقد resx التَالية لتحميل الملفات عِندَ استخدَام المكون.
<resx path="strings/ProgressIndicator.1033.resx" version="1.0.0" />
<resx path="strings/ProgressIndicator.1035.resx" version="1.0.0" />
<resx path="strings/ProgressIndicator.3082.resx" version="1.0.0" />
استخدَام ميزة المكون
تتوفر ميزَات الجهَاز والأدَاة المسَاعدة وWebAPI الخَاصة بإطَار العمل للاستخدَام بواسطة المكونَات التي تستخدمهَا فِي تطبيق يستند إلى نموذج. لاستخدَام إحدى هذه الميزَات، يجب عليك الإعلان عنهَا فِي البيَان فِي عقدة استخدَام الميزة عن طريق إضَافَة عقدة ميزة الاستخدَام. التعليمة البرمجية التَالية هي مثَال لتمكين استخدَام ميزة WebAPI.
<feature-usage>
<uses-feature name="WebAPI" required="true" />
</feature-usage>