DependencyObject.GetLocalValueEnumerator Metoda

Definice

Vytvoří specializovaný enumerátor pro určení, které vlastnosti závislosti mají místně nastavené hodnoty na tomto DependencyObject.

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

Návraty

Specializovaný enumerátor místních hodnot.

Příklady

Následující příklad iteruje všechny vlastnosti, které mají místní hodnoty nastavené na objektu, a potom volání ClearValue vymazat hodnoty každé takové vlastnosti.

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

Poznámky

Místní hodnota je jakákoli hodnota vlastnosti závislosti, která byla nastavena SetValue, na rozdíl od jiných aspektů systému vlastností.

Získané LocalValueEnumerator voláním GetLocalValueEnumerator lze použít k vytvoření výčtu vlastností, které mají místně nastavenou hodnotu v DependencyObject instanci. Každá taková vlastnost je reprezentována v enumerátoru LocalValueEntry objektem, který má vlastnosti, které odkazují na konkrétní DependencyProperty a jeho hodnoty. Tato technika vytvoření výčtu místně nastavených hodnot se dá použít k optimalizaci nebo jinému zpracování místních hodnot, například k určení hodnot DependencyObject vlastností, které by se změnily, pokud by byly vymazány.

Important

Vrácený LocalValueEnumerator objekt může obsahovat LocalValueEntry záznamy pro vlastnosti závislosti, které jsou jen pro čtení, nebo vlastnosti závislosti, ve kterých systém vlastností počítá hodnoty. Například element architektury vizuálu, který má zavedenou šířku prostřednictvím rozložení, bude hlásit místní hodnotu pro ActualWidth. Pokud získáváte místní hodnoty, abyste je resetovali, zkontrolujte hodnotu u identifikátoru vlastnosti každého z nich ReadOnly a ověřteLocalValueEntry, že DependencyProperty daná otázka není určená jen pro čtení.

Platí pro

Viz také