Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

DependencyObject.GetLocalValueEnumerator (Método)

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.

Espacio de nombres:  System.Windows
Ensamblado:  WindowsBase (en WindowsBase.dll)

public LocalValueEnumerator GetLocalValueEnumerator()

Valor devuelto

Tipo: System.Windows.LocalValueEnumerator
Enumerador de valor local especializado.

Un valor local es cualquier valor de propiedad de dependencia establecido por SetValue, en contraposición a otros aspectos del sistema de propiedades.

La estructura LocalValueEnumerator que se obtiene al llamar a GetLocalValueEnumerator se puede usar para enumerar propiedades que tienen un valor localmente establecido en una instancia de DependencyObject. Cada una de esas propiedades se representa en el enumerador mediante un objeto LocalValueEntry, cuyas propiedades hacen referencia al objeto DependencyProperty concreto y sus valores. Esta técnica de enumerar sobre los valores localmente establecidos se puede usar para la optimización o para otro control de valores locales, como determinar qué valores de propiedad de DependencyObject cambiarían si se borraran.

Nota importanteImportante

La estructura LocalValueEnumerator devuelta podría contener registros de LocalValueEntry para las propiedades de dependencia que son de sólo lectura o las propiedades de dependencia donde el sistema de propiedades calcula los valores. Por ejemplo, un elemento de marco visual que tiene un ancho establecido a través del diseño informará de un valor local para ActualWidth. Si va a obtener valores locales para restablecerlos, compruebe el valor de ReadOnly en el identificador de propiedad de cada objeto LocalValueEntry para comprobar que el objeto DependencyProperty en cuestión no es de sólo lectura.

El ejemplo siguiente itera todas las propiedades que tienen valores locales establecidos en un objeto, a continuación, llama a ClearValue para borrar los valores de cada una de esas propiedades.


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); }
        }
    }
}


.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Mostrar: