منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : [WPF حتى الاحتراف] {3.5} - اداة الـ WrapPanel
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته








الـWrapPanel



هي اداة من ادوات الLayout ، وظيفتها نفس الـ Stackpanel بالضبط ، الا انها تحتوي على ميزة اضافية وهي : عندما لاتتوفر مساحات اضافية في الـPanel ، قم بالنزول الى سطر جديد.


[صورة مرفقة: wrapPanel.PNG]



هذا يعني انها Stackpanel لكن توفر لك ميزة النزول الى سطر جديد عندما لايكون هناك مساحة اضافية للعنصر ..



قبل

[صورة مرفقة: UXPamJq.png]




بعد تقليل Window width  صغر ال Width تبع الWrapPanel ايضا ، وادى ذلك الى نزول بعض العناصر الى الاسفل :

[صورة مرفقة: a7WcsxR.png]






احنا قلنا ان الStackPanel لديها طريقتين لترتيب العناصر ، اما Vertical او Horizontal وهذا بالفعل موجود ايضا في الWrapPanel :

[صورة مرفقة: KhVyaJW.png]



















ملاحظة :- تاكد ان Anchor مفعل في كلا الجهتين ، عشان كل ماتكبر الWindow ، يكبر معاه ال WrapPanel :

[صورة مرفقة: 57ybED6.png]















امثلة على استخدام الـWrapPanel




طبعا اقوى استخدام للـWrapPanel هو الCalendar

[صورة مرفقة: OG2TnYm.png]




وايضا استخدام قوي اخر هو في واجهات الMetro :

[صورة مرفقة: windows-8-apps-get-an-update.jpg]













الدرس بسيط كما ترون ، فالذي قام بمشاهدة درس الـ Stackpanel يدرك سهولة وغرض الWrapPanel

ولا توجد هناك خواص اضافية في الWrapPanel ، حيث انها موروثة من الـ Stackpanel بغرض ميزة واحدة فقط ، وهي النزوح الى سطر جديد ، او النزوح الى عمود جديد (في حالة الVertical - لايستعمل كثيرا-) .

يكون النزوح الى سطر جديد عندما لا يكون هناك Width كافي في الWrapPanel .. ويكون النزوح الى عمود جديد عندما لايكون هناك Height كافي في الWrapPanel .


لاتوجد مهمة في هذا الدرس .





انتهى
السلام عليكم
جزاك الله خيرا يا استاذنا القدير
وعليكم السلام ورحمة الله وبركاته

طيب أخي محمد ، لماذا لا تكتفي ميكروسوفت بهذه الأداة والاستغناء عن Stackpanel ؟

يعني هل يوجد حالة أُلزم فيها باستخدام Stackpanel ويكون خيار WrapPanel غير صحيح ؟

وجزاك الله خير.
(25-06-14, 08:57 PM)عبد الله كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته

طيب أخي محمد ، لماذا لا تكتفي ميكروسوفت بهذه الأداة والاستغناء عن Stackpanel ؟

يعني هل يوجد حالة أُلزم فيها باستخدام Stackpanel ويكون خيار WrapPanel غير صحيح ؟

وجزاك الله خير.


نستخدم الStackPanel عندما نحتاج الى صف او عمود واحد لادراج العناصر

لننظر الى حالة الCalander :

[صورة مرفقة: OG2TnYm.png]


في المثال اعلاه توجد 5 صفوف من الButtons .. تخيل انه في هذا المثال قمنا باستخدام الStackpanel بدل WrapPanel ، سنضطر الى وضع 5 من stackpanel الافقية لتغطية كل صف (5 صفوف).


لان stackpanel تضيف العناصر في صف واحد فقط ، ولاتنزل لسطر جديد ابدا ، واضن ان الامثلة السابقة والامثلة الحالية توضح المقصود جيدا


تخيل المثال التالي المعمول بواسطة Stackpanel :

[صورة مرفقة: hrwbU6C.png]


تخيل اننا قمنا بعمله بواسطة WrapPanel ، وقام المستخدم بتقليل الWidth ، سينزل الزر Maybe الى سطر جديد وهذا ابدا غير مقبول ، فافضل شيئ في حالة ازرار الDialog هو الStackPanel


انا عجل ليش اخلي في هالدروس قسم باسم الامثة ، راجعه من جديد في كلا الدرسين وبتعرف الحالات جيدا ، او حتى في صورGoogle اكتب stackpanel wpf مثلا وبتطلع لك صور واجهات تستعمل هذي الادوات



عشان تثبت المعلومة اكثر ، قم بالتطبيق وامبيك تسوي Calander بسيط بواسطة الButtons وباستعمال WrapPanel



موفق اخي الكريم ,,,
مقارنة عند اضافة العناصر للأداتين :




StackPanel


[صورة مرفقة: KNLeUHH.gif]




WrapPanel


[صورة مرفقة: blT1zKm.gif]
دورة ممتعة جداً و شرح متعوب عليه ...

جزاك الله خيراً يا أخي محمد.
ربي يوفقك Smile


السلام عليكم
الله يعطيك العافية
دروس رهيبة
إن شاء الله
متابعك درس بدرس Shy