Partager via


DataGrid.RowValidationRules Propriété

Définition

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é

ObservableCollection<ValidationRule>

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.

S’applique à

Voir aussi