Exportar (0) Imprimir
Expandir todo

Freezable.IsFrozen (Propiedad)

Actualización: noviembre 2007

Obtiene un valor que indica si el objeto es modificable actualmente.

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

public bool IsFrozen { get; }
/** @property */
public boolean get_IsFrozen()

public function get IsFrozen () : boolean

No se puede establecer esta propiedad en XAML.

Valor de propiedad

Tipo: System.Boolean
Es true si el objeto se inmoviliza y no se puede modificar; es false si se puede modificar.

Intentar modificar un objeto cuando su propiedad IsFrozen es true produce una excepción InvalidOperationException.

Esta propiedad es de sólo lectura desde la perspectiva del modelo de objetos. Parte de la documentación sobre los comportamientos de Freezable pueden mencionar "establece la propiedad IsFrozen en true" o una frase parecida al tratar el comportamiento de otros métodos de Freezable, pero este comportamiento ocurre internamente en las instancias de clase, cuando los métodos de la instancia manipulan las variables privadas que existen en la clase abstracta. Para establecer el valor de esta propiedad, debe llamar a Freeze. Ésta es realmente una operación de una sola ejecución para cambiar la propiedad IsFrozen desde el estado false predeterminado inicial al estado true. No hay ningún medio disponible de restablecer el valor en false. En su lugar, puede cambiar cualquier copia en profundidad realizada a partir del original (vea el método Clone ). Es por diseño y cómo debe comportarse cualquier clase derivada cuando se aplica a los casos en los que es útil el modelo Freezable.

En este ejemplo se muestra cómo determinar si un objeto Freezable está inmovilizado. Si intenta modificar un objeto Freezable inmovilizado, se inicia una excepción InvalidOperationException. Para evitarlo, use la propiedad IsFrozen del objeto Freezable para determinar si se encuentra inmovilizado.

En el ejemplo siguiente se inmoviliza SolidColorBrush y, a continuación, se comprueba mediante la propiedad IsFrozen si se encuentra inmovilizado.


Button myButton = new Button();
SolidColorBrush myBrush = new SolidColorBrush(Colors.Yellow);

if (myBrush.CanFreeze)
{
    // Makes the brush unmodifiable.
    myBrush.Freeze();
}            

myButton.Background = myBrush;


if (myBrush.IsFrozen) // Evaluates to true.
{
    // If the brush is frozen, create a clone and
    // modify the clone.
    SolidColorBrush myBrushClone = myBrush.Clone();
    myBrushClone.Color = Colors.Red;
    myButton.Background = myBrushClone;
}
else
{
    // If the brush is not frozen,
    // it can be modified directly.
    myBrush.Color = Colors.Red;
}




Para obtener más información acerca de los objetos Freezable, consulte Información general sobre objetos Freezable.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft