27-06-14, 02:21 PM
(آخر تعديل لهذه المشاركة : 27-08-18, 09:44 AM {2} بواسطة الشاكي لله.)
لسلام عليكم ورحمة الله وبركاته
الـDockPanel
هي اداة من ادوات الLayout ، تستخدم لترتيب العناصر على حسب جهة محددة :-
![[صورة مرفقة: v2_dockpanel.png]](http://www.wpftutorial.net/images/v2_dockpanel.png)
كود XAML المسؤول عن تكوين العناصر السابقة :
PHP كود :
<DockPanel LastChildFill="True">
<Button Content="Dock=Top" DockPanel.Dock="Top"/>
<Button Content="Dock=Bottom" DockPanel.Dock="Bottom"/>
<Button Content="Dock=Left"/>
<Button Content="Dock=Right" DockPanel.Dock="Right"/>
<Button Content="LastChildFill=True"/>
</DockPanel>
خواص مهمة
خاصية DockPanel.Dock
هي خاصية تُعين من العنصر الذي في داخل الDockPanel ، من خلال هذه الخاصية تحدد الجهة التي تريد وضع العنصر فيها ، حيث تحدد العنصر المراد تغيير جهته وتذهب الى صندوق الخصائص وتغير قيمة خاصية DockPanel.Dock
وهي خاصية تعتبر AttachedProperty لانها خاصية تابعة للDockPanel لكن تم "الحاقها" للButton ، سنذكر تفاصيلها في موضوع اخر .
--------------------
خاصية LastChildFill
على عكس الخاصية السابقة فهذه الخاصية تعين للDockPanel نفسه ، ومن اسمها يتضح انها تجعل اخر عنصر من ابنائها يملأ المساحة المتبقية في DockPanel :
![[صورة مرفقة: jUNCoSn.png]](http://i.imgur.com/jUNCoSn.png)
![[صورة مرفقة: xE1iYVf.png]](http://i.imgur.com/xE1iYVf.png)
Multiple elements on one side
لعلك قد تحتاج لإضافة عنصرين في نفس الجهة ، فذلك ممكن ايضا ..
ويتم ذلك بكل سهولة بتعيين قيمة خاصية DockPanel.Dock لكل من العنصرين بنفس الاتجاه
![[صورة مرفقة: v2_multipledock.png]](http://www.wpftutorial.net/images/v2_multipledock.png)
كود Xaml :
PHP كود :
<DockPanel LastChildFill="True">
<Button Content="Dock=Left"/>
<Button Content="Dock=Left"/>
<Button Content="Dock=Top" DockPanel.Dock="Top"/>
<Button Content="Dock=Bottom" DockPanel.Dock="Bottom"/>
<Button Content="Dock=Right" DockPanel.Dock="Right"/>
<Button Content="LastChildFill=True"/>
</DockPanel>
برامج حقيقية تستعمل الDockPanel
الDockpanel عملي للغاية ويستعمل في اكبر البرامج وخاصة برامج الStudio
لعلكم رايتم مثل هذه الحالة في الفيجوال ستوديو :-
![[صورة مرفقة: ScrShot1.gif]](http://www.codeproject.com/KB/WPF/WPFdockinglib/ScrShot1.gif)
لكن في الحقيقة الDockpanel القياسية لايمكنها عمل مثل الظاهر في الصورة ، ليس صعبا لكن يتطلب منك بعض الوقت لتعديلها واضافة احداث وماشابه ..
لذلك بعض المبرمجين المستقلين قاموا ببناء مكتبات تمكنك من القيام بمثل وظيفة الشكل اعلاه :-
المهمة
المهمة المطلوبة منكم اخواني هي تنفيذ النموذج التالي :-
![[صورة مرفقة: 20130105230547.png]](http://cdn-ak.f.st-hatena.com/images/fotolife/o/okazuki/20130105/20130105230547.png)
انتهى
المهمة المطلوبة منكم اخواني هي تنفيذ النموذج التالي :-
![[صورة مرفقة: 20130105230547.png]](http://cdn-ak.f.st-hatena.com/images/fotolife/o/okazuki/20130105/20130105230547.png)
انتهى


