RSS

Data Templates with Commands

12 אוג

Data Templates with Commands

אני מאוד אוהב את העבודה עם DataTemplate. אבל לפעמים אני רוצה להוסיף ל-DT חיבור ל-Command שנמצא ב-ViewModel ולא ב- Model. למשל נניח שיש לי מודל של מכונית, ואני רוצה לעצב למכונית תבנית (DT) שיש בה פקודה של מחיקה. אני לא מעונין לעשות את הפקודה (ICOMMAND) כחלק מהמחלקה של המכונית, זה שייך ל-VM של כל המסך. יש מספר פתרונות לפתור בעיה זו כמו לעבוד עם Relative Binding. ברצוני לראות גישה אחרת.

המודל של המכונית:

clip_image001[4]

ה-ViewModel של המסך Main:

clip_image002[4]

1. להגדיר ב- Resources את ה- DelegateCommand.

clip_image003[6]

2. שימו לב שב-DT יש כפתור שאני מחבר אותו ע"י StaticResource לפקודה של הכפתור.

3. החלק האחרון זה להוסיף Behavior במקום בעץ שיש לו גישה ל-DataContext כלומר ל-ViewModel וע"י כך לפקודה הרצויה וגם ל-StaticResource.

clip_image004

מה שה-Behavior עושה זה להתחל את ה- DelegateCommand בפקודה שנמצאת ב-VM.

clip_image005

Advertisements
 
השארת תגובה

פורסם ע"י ב- אוגוסט 12, 2011 ב- Uncategorized

 

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s

 
%d בלוגרים אהבו את זה: