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á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í.