DataGrid.RowValidationRules Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.