ValidatesOnDataErrors Proprietà
Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà Binding.ValidatesOnDataErrors

 

Ottiene o imposta un valore che indica se includere DataErrorValidationRule.

Spazio dei nomi:   System.Windows.Data
Assembly:  PresentationFramework (in PresentationFramework.dll)

public bool ValidatesOnDataErrors { get; set; }

Valore proprietà

Type: System.Boolean

true per includere l'oggetto DataErrorValidationRule; in caso contrario, false.

L'impostazione di questa proprietà fornisce un'alternativa all'utilizzo esplicito dell'elemento DataErrorValidationRule. DataErrorValidationRule è una regola di convalida incorporata che verifica la presenza di errori generati dall'implementazione IDataErrorInfo dell'oggetto di origine.Se viene generato un errore, il motore di associazione crea un ValidationError con l'errore e lo aggiunge all'insieme Validation.Errors dell'elemento associato.L'assenza di errori comporta la cancellazione di questo feedback di convalida, a meno che un'altra regola non generi un problema di convalida.

ValidatesOnDataErrors è stato introdotto in .NET Framework versione 3.5. Per ulteriori informazioni, vedere Versioni e dipendenze di .NET Framework.

Negli esempi riportati di seguito vengono utilizzati IDataErrorInfo e ValidatesOnDataErrors per convalidare l'input dell'utente in un TextBox.Nel primo esempio viene creato un tipo di dati che implementa IDataErrorInfo per segnalare errori di convalida.

public class PersonImplementsIDataErrorInfo : IDataErrorInfo
{
    private int age;

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

    public string Error
    {
        get
        {
            return "";
        }
    }

    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 riportato di seguito la proprietà Age viene associata alla proprietà TextBox e viene impostata ValidatesOnDataErrors su true sul Binding. Quando l'utente immette un valore non valido, un bordo rosso viene visualizzato in TextBox e ToolTip riporta il messaggio di errore.

<StackPanel Margin="20">
  <StackPanel.Resources>
    <src:PersonImplementsIDataErrorInfo x:Key="data"/>

    <!--The tool tip for the TextBox to display the validation error message.-->
    <Style x:Key="textBoxInError" TargetType="TextBox">
      <Style.Triggers>
        <Trigger Property="Validation.HasError" Value="true">
          <Setter Property="ToolTip"
              Value="{Binding RelativeSource={x:Static RelativeSource.Self},
              Path=(Validation.Errors)[0].ErrorContent}"/>
        </Trigger>
      </Style.Triggers>
    </Style>

  </StackPanel.Resources>
  <TextBlock>Enter your age:</TextBlock>
  <TextBox Style="{StaticResource textBoxInError}">
    <TextBox.Text>
      <!--ValidatesOnDataErrors to is set to True, so the Binding
          checks for errors raised by the IDataErrorInfo object.
          An alternative syntax is to add <DataErrorValidationRule/> within
          the <Binding.ValidationRules> section.-->
      <Binding Path="Age" Source="{StaticResource data}"
               ValidatesOnDataErrors="True"
               UpdateSourceTrigger="PropertyChanged">
      </Binding>
    </TextBox.Text>
  </TextBox>
  <TextBlock>Mouse-over to see the validation error message.</TextBlock>
</StackPanel>

.NET Framework
Disponibile da 3.0
Silverlight
Disponibile da 4.0
Windows Phone Silverlight
Disponibile da 7.1
Torna all'inizio
Mostra:
© 2016 Microsoft