سؤال

أين هو أفضل مكان لوضع نمط StaticResources?لقد تم وضع العالمية و الأنماط الافتراضية في التطبيق.xaml و الصفحة أنماط محددة في page_name.xaml.أن كل عنصر تحكم لديها أسلوبها الخاص StaticResource?هل من المقبول أن تضع بعض سمات نمط الحق في السيطرة ؟ لدي صفحة 5 مربعات النص على ذلك ، ينبغي أن يكون هناك نمط لكل عندما يكون الفرق الوحيد هو عرض أو MaxLength الملكية ؟ أو أن نمط واحد تكون محددة مع خصائص مشتركة لكل مربع نص و نمط معين خصائص محددة في عنصر تحكم?

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

المحلول

التسلسل الهرمي موجود لسبب ما, أنها على الأرجح فكرة جيدة تبدأ بسيطة و المحلية إلى عنصر أنك تعمل مع, ثم نقل من ذلك كما يصبح من الضروري.

المصممين بك قد يكون لها أيضا المتطلبات الخاصة التي قد تطغى على هذا.على سبيل المثال, فريق إرسال العديد من المراجعات حول بعض الأساليب التي قد تريد أن تحتوي على جميع أسلوب عمل واحد ملف XAML حتى انها على استعداد لأكثر من ذلك.

نمط نموذجي الهرمي في الاتجاه المعاكس-النظام

أول عدد قليل من البنود الخاصة بك "معظم خبز" الأكثر غالبا ما تستخدم الأساليب ، عادة سوف تريد أن تبدأ في الجزء السفلي والعمل طريقك.أنه من الجيد أن لا تضطر إلى العمل مع عدة ملفات XAML أيضا ، الواردة.

مستوى التطبيق (التطبيق.xaml)

التطبيق على مستوى أنماط ستكون مفيدة في كل مكان التطبيق لديه واجهة المكشوفة ، عن العناصر المشتركة.

إذا كنت تستخدم Silverlight 2, هذا هو أفضل غير هاك طريقة صنع الأنماط الخاصة بك يمكن الوصول إليها في جميع أنحاء التطبيق الخاص بك.

كن حذرا إذا بانتظام باستخدام التطبيق.xaml الموارد منذ اختبار وحدة المكتبة التي تعيش خارج التطبيق الخاص بك سوف يكون أكثر صعوبة الاختبار لأنه لن تلتقط التطبيق الخاص بك التطبيق على مستوى الأساليب في بعض الحالات.

دمج القاموس

دمج الموارد القواميس تسمح لك لتقسيم الأنماط الخاصة بك تصل إلى الإضافية ملفات XAML, مما يجعل من السهل عامل لهم ميزة المنطقة ميزة التحكم في نوع اسم الفريق ، إلخ. تعلم حول هذه الميزة.

النظر في استخدام هذا التطبيق على مستوى الأساليب في الحالات حيث أنه من المنطقي ، حيث يمكنك بعد ذلك استخدامها في مشاريع منفصلة والحلول.

لا تتوفر Silverlight 2, تمت إضافة هذه الميزة في سيلفرلايت 3.

مستوى الصفحة

أي شيء محدد إلى صفحة واحدة (قد يكون التطبيق الكامل ، أو بصرية أو صفحة أو جزء من التطبيق) التي لا تنزف خارج حواف هو مرشح جيد لهذا.

لا تتردد في بدء أبعد أسفل شجرة البصرية (مثل التحكم في مستوى) ، ونقل تلك الأساليب كما أنه من المنطقي.

في الفريق

من الجيد أن تحتوي على مجموعة من قطعة مماثلة ، مثل عند تنسيق شكل.

في التحكم

تبدأ هنا.عندما كنت أسلوب التحكم في مزيج سوف تبدأ عادة هنا, إلا إذا حدد التطبيق على نطاق موارد الخيار.

هذا هو خطوة وسيطة بين الملكية وتحديد يجري في الواقع أسلوب صحيح الموارد ، جيب انها سوف تكون مجرد واضع لنمط الملكية من السيطرة - ولكن يمكنك بسهولة إضافة x:مفتاح نقل عنه في شجرة البصرية عندما كنت على استعداد.

ضمني الأساليب والمواضيع

إذا كان الفريق الخاص بك أو تستخدم الشركة مجموعة منتظمة من الأساليب لجميع الضوابط من نوع معين (أزرار, خانات, سمها ما شئت) ، النظر في استخدام الضمني أسلوب وظائف مدير (قيمة-إضافة Silverlight) للقيام الضمني الأساليب.هذا هو مماثل WPF التصميم القصة, حيث لا تحتاج إلى تعيين نمط في جميع الأماكن التي يمكنك استخدامها.

لقد وجدت البرنامج التعليمي على الانترنت مع بحث سريع بالنسبة لك تعلم المزيد عن ISM.

عند استخدام خصائص بدلا من المشترك الأنماط الشائعة

W. R. T.السؤال إذا كان لديك مجموعة من مربعات النص فيها الفروق MaxLength, العرض, الخ., ربما يجب عليك تعيين هؤلاء صراحة خصائص على كل سيطرة على سبيل المثال - إذا كانت مختلفة.

مرة واحدة لديك عدد قليل (دعنا نقول, 3, العناصر) باستخدام نفس القيم ، قد يكون من المنطقي أن تسحبه ومن ثم البدء باستخدام Style="{StaticResource keyName}" السمة.إذا كنت تكتب XAML من جهة ، على الرغم من أن الكثير مزعج أكثر من الكتابة Width="20".

نصائح أخرى

وعذرا ليسد أشيائي الخاصة (أو إذا غير مسموح عليه / تثير الامتعاض في SO)، ولكن كان لي الذهاب سريعة على المدونات عن تجربتي إعادة تنظيم الموارد في سيلفرلايت 2 اسع العش (أي لا MergedDictionaries) مشروع لفترة سبقت. آخر هو هنا .

وهذا المشروع سيلفرلايت أنا أعمل على استخدام قالب RIA التطبيقات التجارية من MS. وكان جميع أساليبهم في مجلد "الأصول" وكان ملف يسمى Styles.xaml. لقد تم التمسك منظمتهم وما شابه ذلك، على الرغم من أنني قد أضاف أيضا مجلدات منفصلة ل "الحوارات" والعرف "الضوابط".

ويمكنك تحميل عينة من هنا، والتي قد إجابة على أسئلتك: <وأ href = "http://blogs.msdn.com/brada/archive/2009/07/10/amazing-business-apps-example-updated-for-silverlight-3-rtm-and-net-ria-services -يوليو-update.aspx "يختلط =" noreferrer نوفولو "> http://blogs.msdn.com/brada/archive/2009/07/10/amazing-business-apps-example-updated-for-silverlight-3- الموائد المستديرة وصافي-ريا-خدمات يوليو-update.aspx

أود أن توافق على الاقتراح الأخير الخاص بك:مكان الجزء المشترك من جميع مربعات النص إلى النمط-القاموس ، والتي يمكن تحميلها من قبل التطبيق/الصفحة/التحكم, اعتمادا على مستوى ما أسهم هذا الجزء.غير شائعة أن IMHO يتم تعيين في مربع نص-الحالات مباشرة ، لا يوجد أي استخدام نمط آخر إلا إذا كنت إعادة استخدام هذا الإعداد الخاصة في عدة مربعات النص.

أنا شخصيا جمع كل "المشتركة" الأساليب (على مربع نص مربع تحرير وسرد.... الخ) في مورد واحد.xaml.أنا منفصلة أنماط إضافية xaml-الموارد-القواميس فقط إذا كنت قد ترغب في استبعادها لبعض الغرض.على سبيل المثال ، وضعت أنماط عناصر من 3-حزب-الباعة في فصل الموارد ملفات, s.ال.أنا يمكن تحميل بلدي الموارد المشتركة-الملف "مستقل" في التطبيقات التي لا مرجع هذا 3rd الطرف-lib.وبالمثل, أنا منفصلة المشروع-أنماط محددة (ألوان تناسب العملاء الهوية المؤسسية) من الأنماط العالمية (العميل المنتج المستقل الأساليب) ، يشبه إلى حد كبير المبادئ التوجيهية التي ينبغي أن تعقد على الطبقة الميراث.طلبي ثم تحميل جميع الموارد ، ق.t.عناصر تحكم المستخدم لا تحتاج لمعرفته حول لهم.

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