מדריך Windows Phone – שפת XAML
שפת XAML (מבוטא zamel) הינה שפה לתיאור ממשק משתמש (UI). שפה זו מבוססת על פורמט XML.
אחת הסיבות המרכזיות לעבודה עם שפת XAML היא שקל מאוד להגדיר בעזרתה את מבנה הדף והפקדים שבתוכו. כדאי לציין שניתן לפתח אפליקציות Silverlight ללא שימוש ב XAML אבל נצטרך לשם כך לכתוב די הרבה קוד שהיה יכול להיחסך אם היינו משתמשים ב XAML.
דוגמא לשפת XAML
להלן דוגמא טיפוסית לקוד של דף בשפת XAML:
<phone:PhoneApplicationPage
x:Class="PhoneApp3.MainPage"
>="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
>:x="http://schemas.microsoft.com/winfx/2006/xaml"
>:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
mc:Ignorable="d"
>:d="http://schemas.microsoft.com/expression/blend/2008"
>:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="800"
d:DesignWidth="480"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}">
<StackPanel>
<TextBlock
Text="Hello XAML!" />
<Button
Content="Hello Windows Phone World"
Width="400"
Height="100" />
</StackPanel>
</phone:PhoneApplicationPage>
בדוגמא זו מוגדר לנו דף שבתוכו נמצאים אחד אחרי השני בלוק טקסט (TextBlock) וכפתור (Button). הפקד StackPanel דואג לכך שהתווית והכפתור יופיעו אחד אחרי השני, נלמד על כך בהרחבה בהמשך המדריך. החלון המוגדר בדוגמא זו נראה כך על המסך:
מבנה קובץ XAML בסיסי
בקובץ XAML כל אלמנט מייצג איזשהו מופע של מחלקה ב Silverlight , לדוגמא האלמנט PhoneApplicationPage הוא מופע של המחלקה Microsoft.Phone.Controls.PhoneApplicationPage, ואילו האלמנט Button הוא מופע של המחלקה System.Windows.Controls.Button.
קביעת ערכים לAttribute של אלמנט קובעת את הProperty המתאים על המופע של המחלקה.
לדוגמא, השורה:
Width="400"
קובעת את ה Property Width של אובייקט הכפתור (Button) להיות 400.
התכונה x:Class משמשת לציון שם המחלקה שקובץ הXAML כולו מייצג. בנוסף ישנם תכונות נוספות שמתווספות באופן אוטומטי, בשלב זה של הלימוד ניתן פשוט להתעלם מהם (אך אין למחוק אותם!).
XML Namespaces
בכל קובץ XML תקין, יש להגדיר למחשב היכן הוא יכול למצוא את הגדרת האלמנטים בקובץ. לשם כך אנו משתמשים במילה dir="ltr" class="code">>="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
>:x=http://schemas.microsoft.com/winfx/2006/xaml
לרוב יופיעו גם ה XML namespaces הבאים:
>:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
>:d="http://schemas.microsoft.com/expression/blend/2008"
>:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
אילו הם ה namespaces הסטנדרטיים של Silverlight שבהם מוגדרים כל האלמנטים הנפוצים כגון: Button, StackPanel וכו'. בלעדיהם התוכנית לא הייתה מתקמפלת מאחר והמחשב לא היה מכיר את האלמנטים הללו.
בפרק הבא נדבר בהרחבה כיצד ניתן לקבוע ערכים של תכונות בשפת XAML.
תגובות בפייסבוק