מדריך WPF – השמת Properties
בפרק זה במדריך נמשיך את הדיון בשפת 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>
והתוצאה שתתקבל:
שימוש ב Designer לצורך השמת ערכים ל Properties
ניתן לקבוע ערכים ל Properties של אובייקט בעזרת שימוש ב Designer שמגיע עם Visual Studio.
לשם כך יש לבחור את האלמנט שנרצה לשנות, ללחוץ על מקש ימני ולבחור בתפריט Properties
כעת נוכל לבחור את התכונה שנרצה לשנות מרשימת התכונות בחלון ה Properties ולשנות אותה בקלות.
לדוגמא, במסך הבא אנו משנים את התכונה FontSize של הכפתור לגודל 14
שימוש ב Designer של Visual Studio יכול להקל על העבודה בצעדים הראשונים שלכם, כאשר אינכם זוכרים עדיין בע"פ את הסינטקס של שפת XAML. אם זאת חשוב לזכור שבסופו של דבר ה Designer הוא רק כלי שמייצר XAML וכדאי לשלוט בשפת XAML לצורך פיתוח מתקדם יותר. לא כל דבר ניתן לעשות באמצעות ה Designer.
עוד כלי שמאפשר עריכה גרפית נוחה לקבצי XAML הוא Microsoft Expression Blend. כלי זה משמש בעיקר גרפיקאים לצורך עיצוב האפליקציה. מאחר ואין לכלי זה גרסה חינמית עבור WPF אנו לא נעבוד עם כלי זה.
תגובות בפייסבוק