27-06-14, 02:21 PM
(آخر تعديل لهذه المشاركة : 27-08-18, 09:44 AM {2} بواسطة الشاكي لله.)
لسلام عليكم ورحمة الله وبركاته
الـDockPanel
هي اداة من ادوات الLayout ، تستخدم لترتيب العناصر على حسب جهة محددة :-
كود 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 :
Multiple elements on one side
لعلك قد تحتاج لإضافة عنصرين في نفس الجهة ، فذلك ممكن ايضا ..
ويتم ذلك بكل سهولة بتعيين قيمة خاصية DockPanel.Dock لكل من العنصرين بنفس الاتجاه
كود 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
لعلكم رايتم مثل هذه الحالة في الفيجوال ستوديو :-
لكن في الحقيقة الDockpanel القياسية لايمكنها عمل مثل الظاهر في الصورة ، ليس صعبا لكن يتطلب منك بعض الوقت لتعديلها واضافة احداث وماشابه ..
لذلك بعض المبرمجين المستقلين قاموا ببناء مكتبات تمكنك من القيام بمثل وظيفة الشكل اعلاه :-
المهمة
المهمة المطلوبة منكم اخواني هي تنفيذ النموذج التالي :-
انتهى
المهمة المطلوبة منكم اخواني هي تنفيذ النموذج التالي :-
انتهى