DependencyObject.GetLocalValueEnumerator Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa DependencyObject.
public:
System::Windows::LocalValueEnumerator GetLocalValueEnumerator();
public System.Windows.LocalValueEnumerator GetLocalValueEnumerator ();
member this.GetLocalValueEnumerator : unit -> System.Windows.LocalValueEnumerator
Public Function GetLocalValueEnumerator () As LocalValueEnumerator
Retornos
Um enumerador do valor de local especializado.
Exemplos
O exemplo a seguir itera todas as propriedades que têm valores locais definidos em um objeto e, em seguida, chama ClearValue para limpar os valores de cada propriedade desse tipo.
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
Comentários
Um valor local é qualquer valor de propriedade de dependência definido por SetValue, em oposição a outros aspectos do sistema de propriedades.
A LocalValueEnumerator chamada obtida GetLocalValueEnumerator pode ser usada para enumerar propriedades que têm um valor definido localmente em uma DependencyObject instância. Cada propriedade desse tipo é representada no enumerador por um LocalValueEntry objeto, que tem propriedades que referenciam os valores específicos DependencyProperty e seus. Essa técnica de enumeração sobre os valores definidos localmente pode ser usada para otimização ou para outra manipulação de valores locais, como determinar quais valores de propriedade de a DependencyObject alterariam se fossem limpos.
Importante
O retornado LocalValueEnumerator pode conter LocalValueEntry registros para propriedades de dependência que são somente leitura ou propriedades de dependência em que os valores são calculados pelo sistema de propriedades. Por exemplo, um elemento da estrutura visual que tem uma largura estabelecida por meio do layout relatará um valor local para ActualWidth. Se você estiver obtendo valores locais para redefini-los, verifique o ReadOnly valor no identificador de propriedade de cada LocalValueEntry um para verificar se o DependencyProperty em questão não é somente leitura.