public class MyViewModel : INotifyPropertyChanged, IDataErrorInfo
{
public string Error { get; set; }
public string this[string propertyName] => GetErrorForProperty(propertyName);
private string GetErrorForProperty(string propertyName)
{
switch (propertyName)
{
case nameof(Name):
{
if (Name.Contains("x"))
{
// insérer un message dans Error va colorer la ligne en rouge et remplir le tooltip du RowHeader
Error = "Error, name contains x.";
}
else
{
Error = "";
}
// renvoie toujours un string vide pour toujours valider la cellule
return string.Empty;
}
default:
return string.Empty;
}
}
|