Udostępnij za pośrednictwem


DependencyObject.GetLocalValueEnumerator Metoda

Definicja

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

LocalValueEnumerator

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.

Dotyczy

Zobacz też