מדריך WPF

מדריך WPF – השמת Properties

‏ • Sela

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

נזכר בדוגמא שראינו בפרק הקודם:

<Window x:Class="FirstWpfApplication2.MainWindow"
       >="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       >:x="http://schemas.microsoft.com/winfx/2006/xaml"
       Title="MainWindow"
       Height="350"
       Width="525">
  <StackPanel>
    <Label Content="Hello XAML" />
    <Button Content="Hello WPF World"
           Width="100"
           Height="40" />
  </StackPanel
>
</
Window
>

כזכור, כל אלמנט בקובץ XAML מייצג אובייקט בזיכרון, בדוגמא זו האלמנטים הם:

  • Window
  • StackPanel
  • Label
  • Button

השמת ערך פשוט ל Property

למחלקות בNET. יש תכונות (Properties) והדרך הפשוטה להציג בהם ערכים בשפת XAML היא ע"י כתיבת שם התכונה, הוספת הסימן "=" וכתיבת הערך לתכונה בתוך גרשיים. לדוגמא:

<Label Content="Hello XAML" />

בדוגמא זו קבענו את הערך התכונה Content להיות "Hello XAML".

נציין ש Property שלא קבענו עבורו ערך במפורש יקבל את ערך ברירת המחדל שלו. ערך זה שונה בין תכונה לתכונה. למשל לתכונה FontSize של Button יש ערך ברירת מחדל 12.

 

השמת ערך מורכב ל Property

לפעמים הערכים שנרצה לשים בתוך Property אינם פשוטים ולא ניתנים לתיאור במילה אחר מוקפת גרשיים.

בפעמים כאלו ניתן להציג ערכים ע"י שימוש בכתיב הנקרא Property Element Synax.

בכתיב זה אנו נכתוב את שם הProperty כתת-אלמנט של האלמנט שאותו אנו רוצים לשנות. לדוגמא הקוד הבא מבצע השמה של הערך "Hello XAML" לתכונה Content ע"י שימוש בכתיב זה:

<Label>
  <Label.Content>
    Hello XAML
 
</Label.Content
>
</
Label
>

שימו לב שזה יצא הרבה יותר ארוך ולכן כשאפשר ננסה להימנע מכתיב זה ולהשתמש בכתיב הפשוט יותר.

עם זאת, יש פעמים בהם אין ברירה וחייבים להשתמש בכתיב הארוך.

דוגמא לכך היא קביעת צבע הרקע של כפתור (תכונת Background) לאובייקט מורכב מסוג LinearGradientBrush. אובייקט זה מאפשר לקבוע צבע מתחלף לפי צבעי בסיס מבוקשים. לעת עתה לא נדון בו אלא רק משתמש בו בדוגמא.

קביעת הערך נעשית באופן הבא:

<Button Content="Hello WPF World"
       Width="100"
       Height="40">
  <Button.Background>
    <LinearGradientBrush>
      <GradientStop Color="Red"
                   Offset="0" />
      <GradientStop Color="Blue"
                   Offset="1" />
    </LinearGradientBrush>
  </Button.Background
>
</
Button
>

והתוצאה שתתקבל:

מדריך WPF – השמת Properties


 

שימוש ב Designer לצורך השמת ערכים ל Properties

ניתן לקבוע ערכים ל Properties של אובייקט בעזרת שימוש ב Designer שמגיע עם Visual Studio.

לשם כך יש לבחור את האלמנט שנרצה לשנות, ללחוץ על מקש ימני ולבחור בתפריט Properties

מדריך WPF – השמת Properties

כעת נוכל לבחור את התכונה שנרצה לשנות מרשימת התכונות בחלון ה Properties ולשנות אותה בקלות.

לדוגמא, במסך הבא אנו משנים את התכונה FontSize של הכפתור לגודל 14

מדריך WPF – השמת Properties

שימוש ב Designer של Visual Studio יכול להקל על העבודה בצעדים הראשונים שלכם, כאשר אינכם זוכרים עדיין בע"פ את הסינטקס של שפת XAML. אם זאת חשוב לזכור שבסופו של דבר ה Designer הוא רק כלי שמייצר XAML וכדאי לשלוט בשפת XAML לצורך פיתוח מתקדם יותר. לא כל דבר ניתן לעשות באמצעות ה Designer.

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

תגיות: , , , ,

arikp

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

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