Compartir vía


BitmapCache Clase

Definición

Crea y almacena en caché una representación de mapa de bits de .UIElement

public ref class BitmapCache sealed : System::Windows::Media::CacheMode
public sealed class BitmapCache : System.Windows.Media.CacheMode
type BitmapCache = class
    inherit CacheMode
Public NotInheritable Class BitmapCache
Inherits CacheMode
Herencia

Ejemplos

En el código XAML siguiente se muestra cómo almacenar en caché un Canvas elemento. Para obtener el ejemplo de código completo, vea Cómo: Mejorar el rendimiento de la representación mediante el almacenamiento en caché de un elemento.

<!-- //////////////////////////////////////////////////////////////// -->
<!-- // The following XAML creates a BitmapCache with default      // -->
<!-- // properties and assigns it as the CacheMode for the canvas. // -->
<!-- //////////////////////////////////////////////////////////////// -->
<Canvas.CacheMode>
    <BitmapCache EnableClearType="False" 
                 RenderAtScale="1" 
                 SnapsToDevicePixels="False"  />
</Canvas.CacheMode>

Comentarios

Use la clase para mejorar el BitmapCache rendimiento de representación de un complejo UIElement. Cree y BitmapCache asígnelo a la CacheMode propiedad de para UIElement almacenar en caché el elemento y su subárbol como un mapa de bits en la memoria de vídeo. Esto resulta útil cuando necesita animar, traducir o escalar lo UIElement antes posible. Este enfoque permite un equilibrio entre el rendimiento y la calidad visual mientras se almacena en caché el contenido.

Use la BitmapCacheBrush clase para reutilizar eficazmente un elemento almacenado en caché.

Establezca la RenderAtScale propiedad para escalar la memoria caché del mapa de bits. Esto resulta útil si se acercará un elemento y desea que el elemento se represente más claramente de lo que haría si la memoria caché se generara simplemente en la resolución nativa del elemento.

Establezca la SnapsToDevicePixels propiedad cuando la memoria caché muestre el contenido que requiere la alineación de píxeles para representarse correctamente, como texto ClearType. Las clases y Viewport2DVisual3D omiten BitmapCacheBrush esta propiedad.

El almacenamiento en caché de un control no afecta al comportamiento sobre el mouse, por lo que las pruebas de posicionamiento sobre el mouse funcionan como si el mapa de bits fuera un control activo.

La regeneración de la memoria caché solo se produce cuando cambia la estructura del UIElement subárbol o cuando cambia la CacheMode configuración. Establecer las RenderAtScale propiedades o EnableClearType provoca la regeneración de la memoria caché. Los cambios realizados en el árbol visual primario del almacenado en UIElementcaché, como transformaciones, escalas, opacidades y efectos, no afectan a la memoria caché.

La caché funciona cuando la aceleración de hardware no está disponible. En este caso, el mapa de bits se representa en software y las dimensiones máximas de mapa de bits son 2048 x 2048.

Nota:

RenderOptions y TextOptions no se propagan a través de un elemento almacenado en caché. Es posible que tenga que volver a establecer estas opciones en elementos secundarios debajo de la memoria caché.

Constructores

Nombre Description
BitmapCache()

Inicializa una nueva instancia de la clase BitmapCache.

BitmapCache(Double)

Inicializa una nueva instancia de la BitmapCache clase con la escala especificada.

Campos

Nombre Description
EnableClearTypeProperty

Identifica la EnableClearType propiedad de dependencia.

RenderAtScaleProperty

Identifica la RenderAtScale propiedad de dependencia.

SnapsToDevicePixelsProperty

Identifica la SnapsToDevicePixels propiedad de dependencia.

Propiedades

Nombre Description
CanFreeze

Obtiene un valor que indica si el objeto se puede hacer no modificable.

(Heredado de Freezable)
DependencyObjectType

Obtiene el DependencyObjectType objeto que encapsula el tipo CLR de esta instancia.

(Heredado de DependencyObject)
Dispatcher

Obtiene el objeto al que DispatcherDispatcherObject está asociado.

(Heredado de DispatcherObject)
EnableClearType

Obtiene o establece un valor que indica si el mapa de bits se representa con ClearType activado.

HasAnimatedProperties

Obtiene un valor que indica si uno o varios AnimationClock objetos están asociados a cualquiera de las propiedades de dependencia de este objeto.

(Heredado de Animatable)
IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.

(Heredado de Freezable)
IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (solo lectura).

(Heredado de DependencyObject)
RenderAtScale

Obtiene o establece un valor que indica la escala que se aplica al mapa de bits.

SnapsToDevicePixels

Obtiene o establece un valor que indica si el mapa de bits se representa con ajuste de píxeles.

Métodos

Nombre Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Aplica un AnimationClock objeto al especificado DependencyProperty. Si la propiedad ya está animada, se usa el especificado HandoffBehavior .

(Heredado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Aplica un AnimationClock objeto al especificado DependencyProperty. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace .

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Aplica una animación al especificado DependencyProperty. La animación se inicia cuando se representa el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el especificado HandoffBehavior .

(Heredado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica una animación al especificado DependencyProperty. La animación se inicia cuando se representa el siguiente fotograma. Si la propiedad especificada ya está animada, se usa el comportamiento de entrega SnapshotAndReplace .

(Heredado de Animatable)
CheckAccess()

Determina si el subproceso que llama tiene acceso a este DispatcherObject.

(Heredado de DispatcherObject)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad. Un identificador especifica DependencyProperty la propiedad que se va a borrar.

(Heredado de DependencyObject)
ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura. La propiedad que se va a borrar se especifica mediante .DependencyPropertyKey

(Heredado de DependencyObject)
Clone()

Crea un clon modificable de BitmapCache, haciendo copias profundas de los valores del objeto. Al copiar las propiedades de dependencia del objeto, este método copia expresiones (que podrían dejar de resolverse), pero no animaciones ni sus valores actuales.

CloneCore(Freezable)

Convierte la instancia en un clon (copia profunda) del especificado Freezable mediante valores de propiedad base (no animados).

(Heredado de Freezable)
CloneCurrentValue()

Crea un clon modificable (copia profunda) del BitmapCache utilizando sus valores actuales.

CloneCurrentValueCore(Freezable)

Convierte la instancia en un clon modificable (copia profunda) del especificado Freezable mediante los valores de propiedad actuales.

(Heredado de Freezable)
CoerceValue(DependencyProperty)

Coerce el valor de la propiedad de dependencia especificada. Esto se logra invocando cualquier CoerceValueCallback función especificada en metadatos de propiedad para la propiedad de dependencia tal como existe en la llamada DependencyObjecta .

(Heredado de DependencyObject)
CreateInstance()

Inicializa una nueva instancia de la clase Freezable.

(Heredado de Freezable)
CreateInstanceCore()

Cuando se implementa en una clase derivada, crea una nueva instancia de la Freezable clase derivada.

(Heredado de Freezable)
Equals(Object)

Determina si un proporcionado DependencyObject es equivalente al objeto actual DependencyObject.

(Heredado de DependencyObject)
Freeze()

Hace que el objeto actual no se pueda modificar y establezca su IsFrozen propiedad trueen .

(Heredado de Freezable)
FreezeCore(Boolean)

Hace que este Animatable objeto no se pueda modificar o determina si se puede hacer no modificable.

(Heredado de Animatable)
GetAnimationBaseValue(DependencyProperty)

Devuelve el valor no animado del especificado DependencyProperty.

(Heredado de Animatable)
GetAsFrozen()

Crea una copia inmovilizada de , Freezablemediante valores de propiedad base (no animados). Dado que la copia está inmovilizada, los sub-objetos congelados se copian por referencia.

(Heredado de Freezable)
GetAsFrozenCore(Freezable)

Convierte la instancia en un clon inmovilizado del especificado Freezable mediante valores de propiedad base (no animados).

(Heredado de Freezable)
GetCurrentValueAsFrozen()

Crea una copia inmovilizada de mediante los valores de Freezable propiedad actuales. Dado que la copia está inmovilizada, los sub-objetos congelados se copian por referencia.

(Heredado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Convierte la instancia actual en un clon inmovilizado del especificado Freezable. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales.

(Heredado de Freezable)
GetHashCode()

Obtiene un código hash para este DependencyObjectobjeto .

(Heredado de DependencyObject)
GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia tienen valores establecidos localmente en este DependencyObject.

(Heredado de DependencyObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de .DependencyObject

(Heredado de DependencyObject)
InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo de la propiedad de dependencia especificada.

(Heredado de DependencyObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnChanged()

Se llama cuando se modifica el objeto actual Freezable .

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro admite la infraestructura de Windows Presentation Foundation (WPF) y no está pensada para usarse directamente desde el código.

(Heredado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garantiza que los punteros de contexto adecuados se establecen para un DependencyObjectType miembro de datos que se acaba de establecer.

(Heredado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Invalida la DependencyObject implementación de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también los Changed controladores en respuesta a una propiedad de dependencia cambiante de tipo Freezable.

(Heredado de Freezable)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.

(Heredado de DependencyObject)
ReadPreamble()

Garantiza que Freezable se accede a desde un subproceso válido. Los heredadores de Freezable deben llamar a este método al principio de cualquier API que lea miembros de datos que no sean propiedades de dependencia.

(Heredado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar su origen de valor.

(Heredado de DependencyObject)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado por su identificador de propiedad de dependencia.

(Heredado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificada por el DependencyPropertyKey identificador de la propiedad de dependencia.

(Heredado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia proporcionada.

(Heredado de DependencyObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de llamada tenga acceso a este DispatcherObject.

(Heredado de DispatcherObject)
WritePostscript()

Genera el Changed evento para e Freezable invoca su OnChanged() método . Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique los miembros de clase que no se almacenan como propiedades de dependencia.

(Heredado de Freezable)
WritePreamble()

Comprueba que Freezable no está inmovilizado y que se accede a él desde un contexto de subproceso válido. Freezable Los heredares deben llamar a este método al principio de cualquier API que escriba en miembros de datos que no sean propiedades de dependencia.

(Heredado de Freezable)

Eventos

Nombre Description
Changed

Se produce cuando se modifica o Freezable un objeto que contiene.

(Heredado de Freezable)

Se aplica a

Consulte también