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.ValidatesOnExceptions

 

Data di pubblicazione: ottobre 2016

Ottiene o imposta un valore che indica se includere il ExceptionValidationRule.

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

public bool ValidatesOnExceptions { get; set; }

Valore proprietà

Type: System.Boolean

true Per includere il ExceptionValidationRule; in caso contrario, false.

Impostazione di questa proprietà fornisce un'alternativa all'utilizzo di ExceptionValidationRule elemento in modo esplicito. Il ExceptionValidationRule è una regola di convalida incorporate che controlla le eccezioni generate durante l'aggiornamento della proprietà di origine. Se viene generata un'eccezione, il motore di associazione crea un ValidationError con l'eccezione che viene aggiunto al Validation.Errors raccolta dell'elemento associato. La mancanza di un errore Cancella questo feedback di convalida, a meno che un'altra regola genera un problema di convalida.

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

Negli esempi seguenti utilizzare ValidatesOnExceptions per convalidare l'input dell'utente in un TextBox. Nel primo esempio viene creato un tipo di dati che genera un'eccezione quando il Age è impostata su una proprietà non valida.

public class PersonThrowException
{
    private int age;

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

            if (value < 0 || value > 150)
            {
                throw new ArgumentException("Age must not be less than 0 or greater than 150.");
            }
            age = value;
        }
    }
}

Nell'esempio seguente viene associato il Age proprietà per il TextBox e imposta ValidatesOnExceptions a true sul Binding. Quando l'utente immette un valore non valido, viene visualizzato un bordo rosso nel TextBox e ToolTip segnala il messaggio di errore.

<StackPanel Margin="20">
  <StackPanel.Resources>

    <src:PersonThrowException 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>
      <!--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>
    </TextBox.Text>
  </TextBox>
  <TextBlock>Mouse-over to see the validation error message.</TextBlock>
</StackPanel>

.NET Framework
Disponibile da 3.0
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: