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

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

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

Примеры

В следующем примере выполняется итерация всех свойств, имеющих локальные значения для объекта, а затем вызывается 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 изменяющихся при их очистке.

Important

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

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

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