Freigeben über


DependencyObject.GetLocalValueEnumerator Methode

Definition

Erstellt einen spezialisierten Enumerator, mit dem bestimmt wird, welche Abhängigkeitseigenschaften dieses DependencyObject über lokal festgelegte Werte verfügen.

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

Gibt zurück

LocalValueEnumerator

Ein spezialisierter lokaler Wertenumerator.

Beispiele

Im folgenden Beispiel werden alle Eigenschaften, die lokale Werte für ein Objekt festgelegt haben, aktualisiert und anschließend aufgerufen ClearValue , um die Werte jeder solchen Eigenschaft zu löschen.

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

Hinweise

Ein lokaler Wert ist ein beliebiger Abhängigkeitseigenschaftswert, der durch SetValuefestgelegt wurde, im Gegensatz zu anderen Aspekten des Eigenschaftensystems.

Die LocalValueEnumerator durch Aufrufen GetLocalValueEnumerator abgerufene Eigenschaft kann zum Aufzählen von Eigenschaften verwendet werden, die einen lokal festgelegten Wert für eine DependencyObject Instanz aufweisen. Jede solche Eigenschaft wird in der Aufzählung durch ein LocalValueEntry Objekt dargestellt, das Eigenschaften enthält, die auf die spezifischen DependencyProperty und seine Werte verweisen. Diese Methode zum Aufzählen über die lokal festgelegten Werte kann zur Optimierung oder zur anderen Behandlung lokaler Werte verwendet werden, z. B. zum Bestimmen, welche Eigenschaftswerte eines DependencyObject Werts geändert werden würden, wenn sie gelöscht wurden.

Wichtig

Die zurückgegebene Eigenschaft kann Datensätze für Abhängigkeitseigenschaften enthaltenLocalValueEntry, die schreibgeschützt LocalValueEnumerator sind, oder Abhängigkeitseigenschaften, bei denen Werte vom Eigenschaftensystem berechnet werden. Ein visuelles Framework-Element mit einer festgelegten Breite über das Layout meldet beispielsweise einen lokalen Wert für ActualWidth. Wenn Sie lokale Werte erhalten, um sie zurückzusetzen, überprüfen Sie den Wert für den ReadOnly Eigenschaftenbezeichner jeder LocalValueEntry , um zu überprüfen, ob die DependencyProperty betreffende Person nicht schreibgeschützt ist.

Gilt für

Siehe auch