DependencyObject.GetLocalValueEnumerator Metoda

Definice

Vytvoří specializovaný enumerátor pro určení, které vlastnosti závislostí 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

LocalValueEnumerator

Specializovaný místní výčet hodnot.

Příklady

Následující příklad iteruje všechny vlastnosti, které mají místní hodnoty nastavené na objektu, a pak volá 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 výčtu vlastností, které mají místně nastavenou hodnotu instance DependencyObject . Každá taková vlastnost je reprezentována v výčtu objektem LocalValueEntry , který má vlastnosti, které odkazují na konkrétní DependencyProperty a jeho hodnoty. Tato technika výčtu nad místně nastavenými hodnotami lze použít k optimalizaci nebo k jinému zpracování místních hodnot, například k určení hodnot vlastností, DependencyObject které by se změnily, pokud byly vymazány.

Důležité

Vrácená funkce LocalValueEnumerator může obsahovat LocalValueEntry záznamy vlastností závislostí, které jsou jen pro čtení nebo vlastnosti závislostí, ve kterých se hodnoty vypočítají systémem vlastností. Například element vizuální architektury, který má vytvořenou šířku rozložení, bude hlásit místní hodnotu pro ActualWidth. Pokud získáváte místní hodnoty, abyste je resetovali, zkontrolujte ReadOnly hodnotu u identifikátoru vlastnosti každého LocalValueEntry z nich a ověřte, že DependencyProperty daná otázka není určená jen pro čtení.

Platí pro

Viz také