DependencyObject.GetLocalValueEnumerator Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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í.