בקוד זה הולך ככה:
Validation.GetErrors(DataGridRow)
במקום DataGridRow יכול לבוא כל פקד WPF, שיש בו או בצאצאיו קלט עם בינדינג כמדומני.
בXAML, עם בינדינג לאלמנט, הנה דוגמא לבינדינג לאלמנט הנוכחי:
"{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"
זה יכול להיות גם בטקסט בוקס וכו', זה התנהגות שישנה בכל פקדי קלט.
כפי שאתה רואה הXAML ניגש לאינדקס מס' אחד, כי יכולים להיות כמה שגיאות, של כמה תאים למשל (אם תחבר את זה לתא ולא לשורה, אז תמיד תהיה רק שגיאה אחת).
אז אם אתה רוצה להציג הכל תצטרך להשתמש בItemsControl.
תוכל להשתמש עם טריגר על Validation.HasError.
בשביל לשנות את התנהגות התצוגה בWPF במקרה של שגיאה יש מאפיינים מוכנים כמו ValidationErrorTemplate שמקבלים ContrleTemplate.
ברמת השורה תוכל גם לשנות את הסימן קריאה וכיוצא בזה.
פורסם במקור בפורום CODE613 ב30/01/2014 18:09 (+02:00)