INotifyCollectionChanged עם - DataGrid WPF
-
בדטה גריד WPF הקולקשין מחובר ל - ObservableCollection יש לי אירוע לאחר הוספת רשומה בקולקשין של INotifyCollectionChanged
האירוע מתבצע בעת הכניסה לשורה בדטה גריד ואני רוצה שהוא יתבצע כאשר יוצאים מהשורה
תודה לכל המסייעיםפורסם במקור בפורום CODE613 ב17/03/2015 15:28 (+02:00)
-
אכתוב כאן את הפתרון שלבסוף שמואל מצא (שיחה טלפונית).
קודם הרקע:- כשנכנסים לשורה חדשה בDataGrid המחובר למקור נתונים, הDataGrid יוצר מייד אובייקט מהסוג המתאים ומוסיף אותו למקור הנתונים, עוד לפני עדכון שום תא.
- כאשר מעדכנים תאים בכל שורה שהיא, אף שאובייקט השורה מממש PropertyChanged הוא לא מוזנק, עד יציאה מהשורה אז מופעל האירוע על כל שדה ושדה (כלומר כמס' השדות).
התנהגות זו ניתנת לעקיפה בכמה דרכים, ניתן לחפש בגוגל "wpf datagrid cell cell update ~immediately".
כעת הפיתרון של שמואל זה ללכוד את אירוע ההוספה, אז להירשם לאירוע שינוי של האובייקט, בעת הזנקת אירוע שינוי, זה הזמן שהשורה נגמרה להיערך. אז מסירים את ההרשמה, וכמובן עושים כל קוד נדרש.
פורסם במקור בפורום CODE613 ב18/03/2015 11:55 (+02:00)
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות