Sdílet prostřednictvím


DataGrid.RowValidationRules Vlastnost

Definice

Získá pravidla, která se používají k ověření dat v každém řádku.

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)

Hodnota vlastnosti

Pravidla, která se používají k ověření dat v každém řádku.

Příklady

Následující příklad ukazuje ValidationRule , zda StartDate hodnota vlastnosti objektu Course je starší než hodnota vlastnosti EndDate . Tento příklad kódu je součástí většího příkladu uvedeného v tématu Postupy: Implementace ověření pomocí ovládacího prvku DataGrid .

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

Následující příklad nastaví RowValidationRules vlastnost v XAML. Vlastnost ValidationStep je nastavena na UpdatedValue tak, aby k ověření došlo až po aktualizaci vázaného datového objektu. Když uživatel zadá koncové datum, které je dřívější než počáteční datum, zobrazí se v záhlaví řádku červený vykřičník (!).

<DataGrid.RowValidationRules>
  <local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>

Poznámky

Ovládací DataGrid prvek umožňuje provádět ověření na úrovni buňky i řádku. Při ověřování na úrovni buněk můžete při aktualizaci hodnoty uživatelem ověřit jednotlivé vlastnosti vázaného datového objektu. Při ověřování na úrovni řádků ověříte celé datové objekty, když uživatel potvrdí změny na řádku. Chcete-li vytvořit vlastní ověřovací pravidlo, vytvořte třídu, která je odvozena z ValidationRule třídy a implementujte metodu Validate . Přidejte do kolekce vlastní ověřovací pravidlo RowValidationRules .

Pokud se ItemBindingGroup vlastnost použije, RowValidationRules bude vlastnost ignorována.

Platí pro

Viz také