Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe DataErrorValidationRule

Rappresenta una regola che viene verificata la presenza di errori generati dall'implementazione IDataErrorInfo dell'oggetto di origine.

System.Object
  System.Windows.Controls.ValidationRule
    System.Windows.Controls.DataErrorValidationRule

Spazio dei nomi:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public sealed class DataErrorValidationRule : ValidationRule

Il tipo DataErrorValidationRule espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoDataErrorValidationRuleInizializza una nuova istanza di DataErrorValidationRule classe.
In alto

  NomeDescrizione
Proprietà pubblicaValidatesOnTargetUpdatedOttiene o imposta un valore che indica se la regola di convalida viene eseguita quando la destinazione di l Binding viene aggiornato. (Ereditato da ValidationRule)
Proprietà pubblicaValidationStepOttiene o imposta quando la regola di convalida viene eseguito. (Ereditato da ValidationRule)
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoValidate(Object, CultureInfo)Esegue i controlli di convalida in un valore. (Esegue l'override di ValidationRule.Validate(Object, CultureInfo)).
Metodo pubblicoValidate(Object, CultureInfo, BindingExpressionBase)Esegue i controlli di convalida in un valore. (Ereditato da ValidationRule)
Metodo pubblicoValidate(Object, CultureInfo, BindingGroup)Esegue i controlli di convalida in un valore. (Ereditato da ValidationRule)
In alto

WPF il modello di associazione dati consente di associare ValidationRules con Binding oggetto. se l'oggetto di origine implementa IDataErrorInfo collegare, è possibile utilizzare la regola incorporata DataErrorValidationRule per verificare la presenza di errori generati da IDataErrorInfo implementazione.

Una sintassi alternativa all'impostazione DataErrorValidationRule viene esplicitamente impostare ValidatesOnDataErrors proprietà di true in Binding o MultiBinding oggetto.

È possibile creare una regola personalizzata creando una classe che deriva da ValidationRule. Per ulteriori informazioni e una descrizione dettagliata di convalida dei dati, vedere Cenni preliminari sull'associazione dati.

DataErrorValidationRule viene introdotto in .NET Framework versione 3.5. Per ulteriori informazioni, vedere Versioni e dipendenze di .NET Framework.

In questo esempio viene illustrato come implementare la logica di convalida in un oggetto personalizzato ed eseguire l'associazione a tale oggetto.

È possibile fornire la logica di convalida a livello aziendale se l'oggetto di origine implementa IDataErrorInfo, come nell'esempio seguente:


public class Person : IDataErrorInfo
{
    private int age;

    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    public string Error
    {
        get
        {
            return null;
        }
    }

    public string this[string name]
    {
        get
        {
            string result = null;

            if (name == "Age")
            {
                if (this.age < 0 || this.age > 150)
                {
                    result = "Age must not be less than 0 or greater than 150.";
                }
            }
            return result;
        }
    }
}


Nell'esempio seguente, la proprietà Text della casella di testo viene associata alla proprietà Age dell'oggetto Person, resa disponibile per l'associazione tramite una dichiarazione della risorsa fornita dall'oggetto datax:Key. DataErrorValidationRule controlla gli errori di convalida generati dall'implementazione IDataErrorInfo.


<TextBox Style="{StaticResource textBoxInError}">
    <TextBox.Text>
        <!--By setting ValidatesOnExceptions to True, it checks for exceptions
        that are thrown during the update of the source property.
        An alternative syntax is to add <ExceptionValidationRule/> within
        the <Binding.ValidationRules> section.-->
        <Binding Path="Age" Source="{StaticResource data}"
                 ValidatesOnExceptions="True"
                 UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <!--DataErrorValidationRule checks for validation 
                    errors raised by the IDataErrorInfo object.-->
                <!--Alternatively, you can set ValidationOnDataErrors="True" on the Binding.-->
                <DataErrorValidationRule/>
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>


In alternativa, anziché utilizzare DataErrorValidationRule, è possibile impostare la proprietà ValidatesOnDataErrors su true.

.NET Framework

Supportato in: 4.5, 4, 3.5 SP1, 3.0 SP1

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft