מדריך Windows Phone

מדריך Windows Phone – השמת Properties

‏ • Sela

בפרק זה במדריך נמשיך את הדיון בשפת 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
>

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

  • PhoneApplicationPage
  • StackPanel
  • TextBlock
  • Button

 

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

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

<TextBlock Text="Hello XAML" />

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

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

 

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

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

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

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

<TextBlock>
<TextBlock.Text>
Hello XAML
</TextBlock.Text
>
</
TextBlock
>

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

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

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

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

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

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

מדריך Windows Phone – השמת Properties

 

 

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

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

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

מדריך Windows Phone – השמת Properties

 

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

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

מדריך Windows Phone – השמת Properties

 

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

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

ניתן להוריד גרסה חינמית של Blend המותאמת עבור פיתוח ל Windows Phone בלינק הזה.

תגיות: , , , ,

arikp

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

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