DependencyObject.GetLocalValueEnumerator Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.