DependencyObject.GetLocalValueEnumerator Метод

Определение

Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject.

public:
 System::Windows::LocalValueEnumerator GetLocalValueEnumerator();
public System.Windows.LocalValueEnumerator GetLocalValueEnumerator ();
member this.GetLocalValueEnumerator : unit -> System.Windows.LocalValueEnumerator
Public Function GetLocalValueEnumerator () As LocalValueEnumerator

Возвращаемое значение

LocalValueEnumerator

Специализированный перечислитель локальных значений.

Примеры

В следующем примере выполняется итерация всех свойств, имеющих локальные значения, заданные для объекта, а затем вызывается ClearValue для очистки значений каждого такого свойства.

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

Комментарии

Локальное значение — это любое значение свойства зависимостей, заданное SetValueв отличие от других аспектов системы свойств.

Полученный LocalValueEnumerator путем вызова GetLocalValueEnumerator можно использовать для перечисления свойств, имеющих локально заданное значение в экземпляре DependencyObject . Каждое такое свойство представлено в перечислителе LocalValueEntry объектом, который содержит свойства, ссылающиеся на конкретные DependencyProperty и его значения. Этот метод перечисления локально заданных значений можно использовать для оптимизации или для другой обработки локальных значений, например для определения значений свойств, DependencyObject изменяющихся при их очистке.

Важно!

Возвращаемые LocalValueEnumerator могут содержать LocalValueEntry записи для свойств зависимостей, доступных только для чтения, или свойств зависимостей, где значения вычисляются системой свойств. Например, элемент визуальной платформы, имеющий установленную ширину с помощью макета, будет сообщать локальное значение для ActualWidth. Если вы получаете локальные значения для их сброса, проверьте ReadOnly значение идентификатора свойства каждого из них LocalValueEntry , чтобы убедиться, что DependencyProperty вопрос не доступен только для чтения.

Применяется к

См. также раздел