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 не доступен только для чтения.