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 jednotlivých řádech.

Příklady

Následující příklad ukazuje ValidationRule , zda StartDate je hodnota vlastnosti objektu Course starší než jeho EndDate hodnota vlastnosti. Tento příklad kódu je součástí většího příkladu, který je uveden v tématu Postupy: Implementace ověřování pomocí tématu 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 tak UpdatedValue , aby se ověření provádí až po aktualizaci vázaného datového objektu. Když uživatel určí 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ěřování na úrovni buňky i řádku. Při ověřování na úrovni buňky ověříte jednotlivé vlastnosti vázaného datového objektu, když uživatel aktualizuje hodnotu. Při ověřování na úrovni řádků provádíte kontrolu celých datových objektů, když uživatel potvrdí změny v řádku. Chcete-li vytvořit vlastní ověřovací pravidlo, vytvořte třídu, která je odvozena z ValidationRule třídy a implementuje metodu Validate . Přidejte do RowValidationRules kolekce vlastní ověřovací pravidlo.

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

Platí pro

Viz také