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

מדריך Silverlight – שפת XAML

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

שפת XAML (מבוטא zamel) הינה שפה לתיאור ממשק משתמש (UI). שפה זו מבוססת על פורמט XML.

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

דוגמא לשפת XAML

להלן דוגמא טיפוסית לקוד של חלון בשפת XAML:

<UserControl x:Class="FirstSilverlightApplication2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">

<StackPanel>
<TextBlock Text="Hello XAML!" />
<Button Content="Hello Silverlight World"
Width="200"
Height="40" />
</StackPanel
>
</
UserControl
>

בדוגמא זו מוגדר לנו דף בגודל 300x400 שבתוכו נמצאים אחד אחרי השני בלוק טקסט (TextBlock) וכפתור (Button). הפקד StackPanel דואג לכך שהתווית והכפתור יופיעו אחד אחרי השני, נלמד על כך בהרחבה בהמשך המדריך. החלון המוגדר בדוגמא זו נראה כך על המסך:

image

מבנה קובץ XAML בסיסי

בקובץ XAML כל אלמנט מייצג איזשהו מופע של מחלקה בNET. , לדוגמא האלמנט UserControl הוא מופע של המחלקה System.Windows.Controls.UserControl, ואילו האלמנט Button הוא מופע של המחלקה System.Windows.Controls.Button.

קביעת ערכים לAttribute של אלמנט קובעת את הProperty המתאים על המופע של המחלקה.
לדוגמא, השורה:

Height="350"

קובעת את הProperty Height של אובייקט הדף הראשי (UserControl) להיות 350.

התכונה x:Class משמשת לציון שם המחלקה שקובץ הXAML כולו מייצג. בשלב זה של הלימוד ניתן פשוט להתעלם ממנה (אך אין למחוק אותה!).

XML Namespaces

בכל קובץ XML תקין, יש להגדיר למחשב היכן הוא יכול למצוא את הגדרת האלמנטים בקובץ. לשם כך אנו משתמשים במילה xmlns (קיצור של XML Namespace). חשבו על xmlns כעל מקבילה למילה using בשפת #C.

בכל קובץ XAML ב Silverlight תמיד יופיעו שתי הXML Namespaces הבאים:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x=
http://schemas.microsoft.com/winfx/2006/xaml

לרוב יופיעו גם ה XML namespaces הבאים:

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"

אילו הם הnamespaces הסטנדרטיים של Silverlight שבהם מוגדרים כל האלמנטים הנפוצים כגון: Window, Button, StackPanel וכו'. בלעדיהם התוכנית לא הייתה מתקמפלת מאחר והמחשב לא היה מכיר את האלמנטים הללו.

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

arikp, מכללת סלע

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

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

תגובות למאמר



עוד במדריך

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

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