DependencyObject.GetLocalValueEnumerator Méthode

Définition

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.

public:
 System::Windows::LocalValueEnumerator GetLocalValueEnumerator();
public System.Windows.LocalValueEnumerator GetLocalValueEnumerator ();
member this.GetLocalValueEnumerator : unit -> System.Windows.LocalValueEnumerator
Public Function GetLocalValueEnumerator () As LocalValueEnumerator

Retours

LocalValueEnumerator

Un énumérateur de valeur de proximité spécialisé.

Exemples

L’exemple suivant itère toutes les propriétés qui ont des valeurs locales définies sur un objet, puis appelle ClearValue pour effacer les valeurs de chaque propriété de ce type.

void RestoreDefaultProperties(object sender, RoutedEventArgs e)
{
    UIElementCollection uic = Sandbox.Children;
    foreach (Shape uie in uic)
    {
        LocalValueEnumerator locallySetProperties = uie.GetLocalValueEnumerator();
        while (locallySetProperties.MoveNext())
        {
            DependencyProperty propertyToClear = locallySetProperties.Current.Property;
            if (!propertyToClear.ReadOnly) { uie.ClearValue(propertyToClear); }
        }
    }
}
Private Sub RestoreDefaultProperties(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim uic As UIElementCollection = Sandbox.Children
    For Each uie As Shape In uic
        Dim locallySetProperties As LocalValueEnumerator = uie.GetLocalValueEnumerator()
        While locallySetProperties.MoveNext()
            Dim propertyToClear As DependencyProperty = locallySetProperties.Current.Property
            If Not propertyToClear.ReadOnly Then
                uie.ClearValue(propertyToClear)
            End If
        End While
    Next
End Sub

Remarques

Une valeur locale est toute valeur de propriété de dépendance définie par SetValue, par opposition à d’autres aspects du système de propriétés.

L’appel LocalValueEnumerator GetLocalValueEnumerator obtenu peut être utilisé pour énumérer les propriétés qui ont une valeur définie localement sur une DependencyObject instance. Chaque propriété de ce type est représentée dans l’énumérateur par un LocalValueEntry objet, qui a des propriétés qui référencent les valeurs spécifiques DependencyProperty et ses valeurs. Cette technique d’énumération sur les valeurs définies localement peut être utilisée pour l’optimisation ou pour d’autres gestions de valeurs locales, telles que la détermination des valeurs de propriété d’un DependencyObject changement si elles ont été effacées.

Important

Le retour LocalValueEnumerator peut contenir des LocalValueEntry enregistrements pour les propriétés de dépendances qui sont en lecture seule ou les propriétés de dépendance où les valeurs sont calculées par le système de propriétés. Par exemple, un élément visual framework qui a une largeur établie via la disposition signale une valeur locale pour ActualWidth. Si vous obtenez des valeurs locales pour les réinitialiser, vérifiez la ReadOnly valeur sur l’identificateur de propriété de chacun LocalValueEntry pour vérifier que la DependencyProperty valeur en question n’est pas en lecture seule.

S’applique à

Voir aussi