سؤال

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

أيضا، تبدأ قوالب WPF بشبكة فارغة.

بالنسبة لي، باستخدام StackPanel أو DockPanel أقل سرعة وأفضل للصيانة (فكر في إضافة صف لاحقا وبعد الاضطرار إلى إضافة +1 إلى جميع الصفوف الأخرى)

لماذا Grid أفضل أو ما أفتقده؟

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

المحلول

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

مع شبكة، لا يوجد تقييد على وجود عناصر متعددة داخل شبكة واحدة "خلية"، والتي تسمح بمصمم مع وضع مجاني للحصول على نفس المرونة مثل قماش، ولكن لا يزال لديك قدرات التخطيط التلقائي تلك الشبكة (والأجمل الأخرى يتضمن عناصر التحكم في التصميم مثل StackPanel و DockPanel).

نصائح أخرى

كلمتين: تحجيم النجوم. ال Grid يجعل من الممكن حجم المحتوى على المساحة التي تحتوي عليه دون توفير حجم للحاوية بشكل صريح. الضوابط الفريق لا.

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

يمكن أن يكون الكثير من الناس لا يدركون أنهم يمكنهم إزالة الشبكة الأولية، وبدلا من ذلك وضعوا سيطرةهم الخاصة في الشبكة.

لقد وجدت أنه بالنسبة لنظام Windows أكثر توضيحا، فمن الأسهل كسره إلى مناطق وظيفية مستقلة إلى حد ما (الحركة والحجم الحكيم) للآخرين. تتيح شبكات تلك المناطق التي تعيش في لوحة واحدة، وتسمح لها بوضعها دون اعتبار عن مكان الضوابط الأخرى (إلى حد ما).

على سبيل المثال في مشروع أنا العمل على الآن, ، لدي نافذة ستكون مدير الشحن. أريد ثلاثة طرق عرض قائمة (الشحنات والحزم أو العناصر) لدي تحكم شبكة مع أعمدة؛ واحد مع قائمة الحزم وخائن الشبكة، والآخر مع شبكة متداخلة مع القائمتين الآخرين وخائن الشبكة.

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

كوري

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