Exporter (0) Imprimer
Développer tout

UpdateSourceTrigger, énumération

Mise à jour : novembre 2007

Décrit la planification des mises à jour de la source de liaison.

Espace de noms :  System.Windows.Data
Assembly :  PresentationFramework (dans PresentationFramework.dll)

public enum UpdateSourceTrigger
public enum UpdateSourceTrigger
public enum UpdateSourceTrigger
object property="ValeurÉnumération" .../>

Nom de membreDescription
DefaultValeur UpdateSourceTrigger par défaut de la propriété de cible de liaison. La valeur par défaut de la plupart des propriétés de dépendance est PropertyChanged, alors que la valeur par défaut de la propriété Text est LostFocus.
PropertyChangedMet à jour la source de liaison dès que la propriété cible de liaison est modifiée.
LostFocusMet à jour la source de liaison dès que l'élément cible de liaison perd le focus.
ExplicitMet à jour la source de liaison uniquement lorsque la méthode UpdateSource est appelée.

Pour plus d'informations, consultez Binding.UpdateSourceTrigger.

Cette rubrique décrit comment utiliser la propriété UpdateSourceTrigger pour contrôler le minutage des mises à jour de lasource de liaison. Le rubrique utilise le contrôle TextBox comme exemple.

La propriété TextBox.Text a une valeur par défaut UpdateSourceTrigger de LostFocus. Cela signifie que si un application a une TextBox avec une propriété TextBox.Text liée aux données, le texte que vous saisissez dans la TextBox ne met pas à jour la source jusqu'à ce que la TextBox perde le focus (par exemple, lorsque vous cliquez en dehors de la TextBox).

Si vous souhaitez que la source soit mise à jour pendant votre saisie, définissez le UpdateSourceTrigger de la liaison PropertyChanged. Dans l'exemple suivant, les propriétés Text de la TextBox et du TextBlock sont liées à la même propriété source. La propriété UpdateSourceTrigger de la liaison TextBox a la valeur PropertyChanged.

<Label>Enter a Name:</Label>
<TextBox>
  <TextBox.Text>
    <Binding Source="{StaticResource myDataSource}" Path="Name"
             UpdateSourceTrigger="PropertyChanged"/>
  </TextBox.Text>
</TextBox>

<Label>The name you entered:</Label>
<TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=Name}"/>


Par conséquent, le TextBlock affiche le même mot (car la source change) lorsque l'utilisateur entre le texte dans la TextBox, comme illustré dans la capture d'écran suivante de l'exemple :

Capture d'écran : exemple de liaison de données simple

Pour l'exemple complet, consultez Liaison simple, exemple.

Si vous avez un formulaire de boîte de dialogue ou pouvant être modifié par l'utilisateur et que vous souhaitez exécuter les mises à jour de la source jusqu'à ce que l'utilisateur ait fini de modifier les champs et ait cliqué sur « OK », vous pouvez définir la valeur UpdateSourceTrigger de vos liaisons sur Explicit, comme indiqué dans l'exemple suivant :

<TextBox Name="itemNameTextBox"
         Text="{Binding Path=ItemName, UpdateSourceTrigger=Explicit}" />


Lorsque vous définissez la valeur UpdateSourceTrigger sur Explicit, la valeur source change uniquement lorsque l'application appelle la méthode UpdateSource. L'exemple suivant montre comment appeler UpdateSource pour itemNameTextBox :

// itemNameTextBox is an instance of a TextBox
BindingExpression be = itemNameTextBox.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();


Pour l'exemple complet, consultez Mise à jour explicite de la source de liaison, exemple.

Remarque :

Vous pouvez utiliser la même technique pour les propriétés d'autres contrôles, mais gardez à l'esprit que la plupart des autres propriétés ont une valeur UpdateSourceTrigger par défaut de PropertyChanged. Pour plus d'informations, consultez la page de propriétés UpdateSourceTrigger.

Remarque :

La propriété UpdateSourceTrigger traite les mises à jour de la source et ne concerne donc que les liaisons TwoWay ou OneWay. Pour les liaisons TwoWay et OneWay, l'objet source doit fournir des notifications de modification de la propriété. Pour plus d'informations, consultez les exemples figurant dans cette rubrique. Vous pouvez aussi consulter Comment : implémenter la notification des modifications de propriétés.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft