DependencyObject.GetLocalValueEnumerator Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości dla tego DependencyObjectelementu .
public:
System::Windows::LocalValueEnumerator GetLocalValueEnumerator();
public System.Windows.LocalValueEnumerator GetLocalValueEnumerator ();
member this.GetLocalValueEnumerator : unit -> System.Windows.LocalValueEnumerator
Public Function GetLocalValueEnumerator () As LocalValueEnumerator
Zwraca
Wyspecjalizowany moduł wyliczający wartości lokalnej.
Przykłady
W poniższym przykładzie iteruje wszystkie właściwości, które mają wartości lokalne ustawione dla obiektu, a następnie wywołuje metodę ClearValue w celu wyczyszczenia wartości każdej takiej właściwości.
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
Uwagi
Wartość lokalna to dowolna wartość właściwości zależności, która została ustawiona przez SetValue, w przeciwieństwie do innych aspektów systemu właściwości.
Metoda LocalValueEnumerator uzyskana przez wywołanie GetLocalValueEnumerator może służyć do wyliczania właściwości, które mają lokalnie ustawioną wartość w wystąpieniu DependencyObject . Każda taka właściwość jest reprezentowana w wyliczaniu przez LocalValueEntry obiekt, który ma właściwości odwołujące się do określonych DependencyProperty i jego wartości. Ta technika wyliczania wartości ustawionych lokalnie może służyć do optymalizacji lub innej obsługi wartości lokalnych, takich jak określenie, które wartości DependencyObject właściwości elementu zmieniłyby się, gdyby zostały wyczyszczone.
Ważne
Zwrócone LocalValueEnumerator może zawierać LocalValueEntry rekordy właściwości zależności, które są właściwościami tylko do odczytu lub zależności, w których wartości są obliczane przez system właściwości. Na przykład element struktury wizualizacji, który ma ustanowioną szerokość w układzie, zgłosi wartość lokalną dla elementu ActualWidth. Jeśli uzyskujesz wartości lokalne w celu ich zresetowania, sprawdź ReadOnly wartość identyfikatora właściwości każdego LocalValueEntry z nich, aby sprawdzić, czy DependencyProperty dany element nie jest tylko do odczytu.