using System.Windows.Controls; namespace ECMonitor.MVVM { public class WPFAssist { /// /// 获取DataGrid的所有行是否存在验证错误。 /// /// 要检查的DataGrid实例 /// true 有错,false 无错 public static bool GetDataGridRowsHasError(DataGrid dg) { bool hasError = false; ValidationError err = null; for (int i = 0; i < dg.Items.Count; i++) { DataGridRow row = (DataGridRow)dg.ItemContainerGenerator.ContainerFromIndex(i); hasError = Validation.GetHasError(row); if (hasError) { break; } } return hasError; } /// /// 获取DataGrid的第一个被发现的验证错误结果。 /// /// 被检查的DataGrid实例。 /// 错误结果。 public static ValidationError GetDataGridRowsFirstError(DataGrid dg) { bool hasError = false; ValidationError err = null; for (int i = 0; i < dg.Items.Count; i++) { DataGridRow row = (DataGridRow)dg.ItemContainerGenerator.ContainerFromIndex(i); hasError = Validation.GetHasError(row); if (hasError) { err = Validation.GetErrors(row)[0]; break; } } return err; } } }