DCSIMG
Triggers, Actions & Behaviors in Blend - I Love C#
Sign in | Join | Help

I Love C#

Eyal Vardi

Triggers, Actions & Behaviors in Blend

פורסם בתאריך Feb 01 2010, 07:44 PM על ידי Vardi | ישנם 2 תגובות

Triggers, Actions & Behaviors in Blend

לפעמים שינוי קטן בקוד מוביל לשינוי גדול בדרך החשיבה שלנו ובהסתכלות שלנו על דברים. ב- Blend 3 הוסיפו את התמיכה ב- Triggers, Actions & Behaviors כדי ליצור אחידות ב-XAML בין WPF ו-SL. אך ע"פ דעתי השינוי הקטן הזה פותח דלת חדשה של הסתכלות על דברים ומקרב אותנו עוד צעד למערכות RAD שיהיה אפשר לבנות איתם UI טוב בלי לרוץ ישר לקוד.

Triggers & Actions

ב-WPF יש תמיכה במספר Triggers מובנים שיודעים לקבל Actions מובנים, אך מה אם אני רוצה להגדיר אחד משלי?

להלן קוד דוגמא לשימוש בנגנון ה-Triggers הסטנדרטי של WPF:

image

להלן קוד דוגמא בשימוש ב-Actions שאני בונה וה-Blend נותן לי בצורה פשוטה (RAD) להשתמש בהם.

image

הקוד ל-MyAction:

image

אנחנו ב- Invoke יכולים לכתוב מה ה-Action שלנו יעשה ועל מי. מה הביג דיל??? שעכשיו אנחנו יכולים לבנות ספריה של Actions שתכנת ה-Blend יוכל להשתמש בהם ולתת ל-UI לא רק עיצוב על גם אינטראקטיביות.

image

אז מה זה Trigger?

מאפשר לי להגדיר ע"פ איזה חוקיות יופעל ה-Trigger שבעקבותיו יופעל Action. ב-Attach אני מתחבר למקור וע"פ לוגיקה שאני מחליט אני מפעיל את InvokeActions.

 

 

לדוגמא קוד של TimerActions:

image

כלומר ה-Trigger זה מתי להתחיל לפעול
וה-
Action זה מה עושים.

 

image

אז מה זה Behavior?

זה כמו Action אך בלי המתי. ברגע שהוא מתחבר למקור הוא משנה אותו, כלמור מוסיף לו התנהגות שלא הייתה לו עד עכשיו.

איך זה עוזר לי בפרויקט כל הידע הזה?
אני מאמין שמפתחי UI צרכים את היכולת לעצב מסכים בכלי WYSIWYG, שיש בהם את התמיכה גם לשלב את הפונקציונאליות שהמפתחים כתבו ע"י ה- Triggers, Actions & Behaviors.

דוגמאות:

בימים אלו אני עובד על תשתית של Triggers, Actions & Behaviors שקשורים ל-Prism כך שמפתח ב-Blend יוכל בצורה פשוטה להגדיר:

· Region

· Publish Event

· Subscribe to Event

· ועוד...

אשמח לשמוע על רעיונות נוספים :-)

רשימת תגובות

# Command is Out Behavior is In

פורסם בתאריך Monday, July 19, 2010 10:01 PM על ידי I Love C#  

Command is Out Behavior is In אף פעם לא אהבתי את הרעיון של Delegate Command הרגשתי שאני כותב קוד "צנרת"

# Command is Out Behavior is In

פורסם בתאריך Monday, July 19, 2010 10:02 PM על ידי I LOVE C#  

Command is Out Behavior is In אף פעם לא אהבתי את הרעיון של Delegate Command הרגשתי שאני כותב קוד "צנרת"

שלח תגובה

(שדה חובה) 
(שדה חובה) 
(אופציונלי)
(שדה חובה) 

Enter the numbers above: