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

מדריך WPF – שימוש ב Brushes

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

בפרק זה נדבר על מספר סוגים של מברשות (Brush) שקיימות בWPF.

מה זה Brush?

Brush הוא אובייקט שיודע לצבוע שטחים בכל גודל, בדומה למברשת פיזית שיכולה לצבוע קיר בכל גודל. ישנם תכונות רבות שהטיפוס שלהם הוא Brush וניתן להציב בהם איזשהו אובייקט מברשת שנגדיר. תכונות נפוצות מסוג Brush הן: Background ו Foreground של פקדים, Stroke ו Fill של צורות ועוד.

 

המברשת SolidColorBrush

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

<Rectangle Width="100"
           Height="50"
            Fill="Red"
/>

נוצר לנו אובייקט מאחורי הקלעים מטיפוס SolidColorBrush.

באותו אופן יכולנו להגדיר באופן מפורש יותר את הצבע כך:

<Rectangle Width="100"
           Height="50">
  <Rectangle.Fill>
    <SolidColorBrush Color="Red" />
  </Rectangle.Fill
>
</
Rectangle
>

כמובן שאין סיבה לבחור בדרך הארוכה אם הדרך הקצרה עובדת.

התוצאה בכל מקרה תהיה זהה:

מדריך WPF – שימוש ב Brushes

 

המברשת LinearGradientBrush

המברשת LinearGradientBrush מאפשר לנו ליצור מברשת בעלת צבעים מתחלפים. בזמן הגדרת המברשת יש לציין אילו "תחנות" יש למברשת, ולכל תחנה להגדיר צבע ונקודת השינוי באחוזים.

לדוגמא, הקוד הבא מגדיר מברשת בעלת שלושה צבעים. המברשת מתחילה בצבע אדום, הצבע מתחלף בהדרגה עד שבאמצע הדרך (50%) מגיע לכחול וכך ממשיך עד שבסופה (100%) נהיה ירוק.

<Rectangle Width="100"
           Height="50">
  <Rectangle.Fill>
    <LinearGradientBrush>
      <GradientStop Offset="0"
                   Color="Red" />
      <GradientStop Offset="0.5"
                   Color="Blue" />
      <GradientStop Offset="1"
                   Color="Green" />
    </LinearGradientBrush>
  </Rectangle.Fill
>
</
Rectangle
>

התוצאה:

מדריך WPF – שימוש ב Brushes

נעיר כי השינוי בצבע בדוגמא הזו נעשה מהפינה השמאלית עליונה עד הנקודה הימנית תחתונה. ניתן לשלוט בכיוון השינוי ע"י התכונות StartPoint, EndPoint.

 

המברשת RadialGradientBrush

המברשת RadialGradientBrush היא למעשה מאוד דומה למברשת LinearGradientBrush. גם למברשת זו יש תחנות בעלות צבע ואחוזים, ההבדל המרכזי הוא שבמברשת זו נקודת ההתחלה היא ממרכז השטח כלי חוץ, בצורה מעגלית, במקום בקווים ישרים.

להלן דוגמא לשימוש במברשת זו:

<Rectangle Width="100"
           Height="50">
  <Rectangle.Fill>
    <RadialGradientBrush>
      <GradientStop Offset="0"
                   Color="Red" />
      <GradientStop Offset="0.5"
                   Color="Blue" />
      <GradientStop Offset="1"
                   Color="Green" />
    </RadialGradientBrush>
  </Rectangle.Fill
>
</
Rectangle
>

 

התוצאה:

מדריך WPF – שימוש ב Brushes

arikp, מכללת סלע

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

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

תגובות למאמר



עוד במדריך

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

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