וובמאסטר - תיכנות ובניית אתרים

מדריך WPF – סידור פקדים: DockPanel

arikp ,‏ מכללת סלע‏ ‏/‏ 28 יולי, 2011
F+
F-

בפרק זה נלמד על הפאנל DockPanel.

הפאנל DockPanel מצמיד את הפקדים המוכלים בו לקצוות שונים של החלון.
לדוגמא, הקוד הבא מצמיד את הפקד Button לצד ימין של החלון:

<Window x:Class="DockPanelDemo.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow"
       Height="350"
       Width="525">
  <DockPanel LastChildFill="False">
    <Button Content="Dock to the right"
           DockPanel.Dock="Right" />
  </DockPanel
>
</
Window
>

התוצאה של הרצת קוד זה היא

מדריך WPF – סידור פקדים: DockPanel

 

התכונה DockPanel.Dock

לכל פקד שנמצא בתוך הפאנל DockPanel ניתן לשים את התכונה DockPanel.Dock ובעזרתה לקבוע את הקצה של החלון שאליו הפקד יוצמד.

הערכים האפשריים ל DockPanel.Dock הם:

  • Bottom – הצמדה לתחתית החלון
  • Left – הצמדה לשמאל
  • Right – הצמדה לימין
  • Top – הצמדה לראש החלון

 

הצמדת מספר פקדים

להלן דוגמא שמצמידה מספר פקדים לכיוונים שונים:

<Window x:Class="DockPanelDemo.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow"
       Height="350"
       Width="525">
  <DockPanel LastChildFill="False">
    <TextBox Text="Dock to the right"
            DockPanel.Dock="Right"
            Background="Red"
            />
    <TextBox Text="Dock to the bottom"
            DockPanel.Dock="Bottom"
            Background="Green"
            />
    <TextBox Text="Dock to the left"
            DockPanel.Dock="Left"
 
           
Background="Blue"
            />
  </DockPanel
>
</
Window
>

תוצאת הקוד הזה תראה כך

מדריך WPF – סידור פקדים: DockPanel

 

חשיבות סדר הפקדים

נשים לב שיש חשיבות לסדר הפקדים בתוך ה DockPanel.
לדוגמא, נחליף את הסדר בין הפקד הראשון לפקד השני בדוגמא הקודמת, באופן הבא:

<Window x:Class="DockPanelDemo.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow"
       Height="350"
       Width="525">
  <DockPanel LastChildFill="False">
    <TextBox Text="Dock to the bottom"
            DockPanel.Dock="Bottom"
            Background="Green"
            />
    <TextBox Text="Dock to the right"
            DockPanel.Dock="Right"
            Background="Red" />
    <TextBox Text="Dock to the left"
            DockPanel.Dock="Left"
 
           
Background="Blue"
            />
  </DockPanel
>
</
Window
>

  נקבל כעת את התוצאה

מדריך WPF – סידור פקדים: DockPanel

ניתן לראות שאורך הפקד האדום קצר יותר בדוגמא השניה כי נותר לו פחות מקום לאחר שהפקד הירוק כבר נקבע. זאת מאחר וכאשר אנו מצמידים פקד לאחד הכיוונים, הפקד יתפוס את כל המקום שנותר באותו כיוון.

התכונה LastChildFill

לפקד DockPanel יש תכונה בשם LastChildFill שקובעת האם הפקד האחרון ב DockPanel (לפי סדר ההופעה) ימלא אוטומטית את כל השטח שנותר פנוי בתוך ה DockPanel.

לדוגמא, אם נקבע את ערך LastChildFill להיות True בדוגמא הקודמת

<Window x:Class="DockPanelDemo2.MainWindow"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow"
       Height="350"
       Width="525">
  <DockPanel LastChildFill="True">
    <TextBox Text="Dock to the bottom"
            DockPanel.Dock="Bottom"
            Background="Green"
            />
    <TextBox Text="Dock to the right"
            DockPanel.Dock="Right"
            Background="Red" />
    <TextBox Text="Dock to the left"
            Background="Blue"
            />
  </DockPanel
>
</
Window
>

נקבל את התוצאה

מדריך WPF – סידור פקדים: DockPanel

נשים לב שבמקרה זה ניתן להוריד את הגדרת DockPanel.Dock מהפקד האחרון מאחר ואין לה משמעות יותר.

arikp, מכללת סלע

אריק פוזננסקי הוא יועץ בכיר ומרצה בסלע. הוא השלים שני תארי B.Sc. במתמטיקה ומדעי המחשב בהצטיינות יתרה בטכניון. לאריק ידע נרחב בטכנולוגיות מיקרוסופט, כולל .NET עם C#, WPF, Silverlight, WinForms, Interop, COM/ATL, C++ Win32 ו reverse engineering.
תגיות: WPF‏  /  .net‏  /  מדריך‏  /  פיתוח‏  /  צד לקוח‏  

תגובות בפייסבוק

תגובות למאמר



עוד במדריך

תגיות פופולאריות

X
הצטרף לעמוד שלנו בפייסבוק להישאר מעודכן!
וובמאסטר © כל הזכויות שמורות