DataGrid.RowValidationRules Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient les règles utilisées pour valider les données de chaque ligne.
public:
property System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ RowValidationRules { System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ get(); };
public System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule> RowValidationRules { get; }
member this.RowValidationRules : System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule>
Public ReadOnly Property RowValidationRules As ObservableCollection(Of ValidationRule)
Valeur de propriété
Les règles utilisées pour valider les données dans chaque ligne.
Exemples
L’exemple suivant illustre une ValidationRule vérification de la StartDate
valeur de propriété d’un Course
objet antérieure à sa EndDate
valeur de propriété. Cet exemple de code fait partie d’un exemple plus important fourni pour la procédure : implémenter la validation avec la rubrique DataGrid Control .
public class CourseValidationRule : ValidationRule
{
public override ValidationResult Validate(object value,
System.Globalization.CultureInfo cultureInfo)
{
Course course = (value as BindingGroup).Items[0] as Course;
if (course.StartDate > course.EndDate)
{
return new ValidationResult(false,
"Start Date must be earlier than End Date.");
}
else
{
return ValidationResult.ValidResult;
}
}
}
Public Class CourseValidationRule
Inherits ValidationRule
Public Overrides Function Validate(ByVal value As Object, _
ByVal cultureInfo As System.Globalization.CultureInfo) _
As ValidationResult
Dim course As Course = _
CType(CType(value, BindingGroup).Items(0), Course)
If course.StartDate > course.EndDate Then
Return New ValidationResult(False, _
"Start Date must be earlier than End Date.")
Else
Return ValidationResult.ValidResult
End If
End Function
End Class
L’exemple suivant définit la RowValidationRules propriété en XAML. La ValidationStep propriété est définie pour UpdatedValue que la validation se produise uniquement une fois l’objet de données lié mis à jour. Lorsqu’un utilisateur spécifie une date de fin antérieure à la date de début, une marque d’exclamation rouge (!) apparaît dans l’en-tête de ligne.
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
Remarques
Le DataGrid contrôle vous permet d’effectuer la validation au niveau de la cellule et de la ligne. Avec la validation au niveau de la cellule, vous validez les propriétés individuelles d’un objet de données lié lorsqu’un utilisateur met à jour une valeur. Avec la validation au niveau des lignes, vous validez des objets de données entiers lorsqu’un utilisateur valide les modifications apportées à une ligne. Pour créer une règle de validation personnalisée, créez une classe qui dérive de la ValidationRule classe et implémentez la Validate méthode. Ajoutez la règle de validation personnalisée à la RowValidationRules collection.
Si la ItemBindingGroup propriété est utilisée, la RowValidationRules propriété est ignorée.