BitmapCache BitmapCache BitmapCache BitmapCache Class

Definición

Crea y almacena en caché una representación del mapa de bits de UIElement.Creates and caches a bitmap representation of a 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

El siguiente XAML muestra cómo la caché un Canvas elemento.The following XAML shows how to cache a Canvas element. El ejemplo de código completo, vea Cómo: Mejorar el rendimiento al almacenar en caché un elemento de la representación.For the complete code example, see How to: Improve Rendering Performance by Caching an Element.

<!-- //////////////////////////////////////////////////////////////// -->
<!-- // 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 BitmapCache clase para mejorar el rendimiento de la representación de un complejo UIElement.Use the BitmapCache class to improve rendering performance of a complex UIElement. Crear un BitmapCache y asígnelo a la CacheMode propiedad de un UIElement para almacenar en caché el elemento y su subárbol como un mapa de bits en memoria de vídeo.Create a BitmapCache and assign it to the CacheMode property of a UIElement to cache the element and its subtree as a bitmap in video memory. Esto es útil cuando deba animar, trasladar o escalar un UIElement tan pronto como sea posible.This is useful when you need to animate, translate, or scale a UIElement as quickly as possible. Este enfoque permite un equilibrio entre rendimiento y calidad visual mientras se almacena en caché el contenido.This approach enables a tradeoff between performance and visual quality while content is cached.

Use la BitmapCacheBrush clase eficazmente reutilizar un elemento almacenado en caché.Use the BitmapCacheBrush class to efficiently reuse a cached element.

Establecer el RenderAtScale propiedad escalar la memoria caché de mapa de bits.Set the RenderAtScale property to scale the bitmap cache. Esto es útil si se puede ampliar un elemento, y desea que el elemento que se va a representar con mayor claridad a como lo haría si la memoria caché simplemente se generara en la resolución nativa del elemento.This is useful if an element will be zoomed, and you want the element to render more clearly than it would if the cache were simply generated at the element's native resolution.

Establecer el SnapsToDevicePixels propiedad cuando la memoria caché muestra contenido que requiere una alineación de píxel se represente correctamente, por ejemplo, texto ClearType.Set the SnapsToDevicePixels property when the cache displays content that requires pixel-alignment to render correctly, such as ClearType text. Esta propiedad se omite la BitmapCacheBrush y Viewport2DVisual3D clases.This property is ignored by the BitmapCacheBrush and Viewport2DVisual3D classes.

Almacenamiento en caché de un control no afecta al comportamiento del mouse por encima, por lo que pasar el mouse sobre la prueba de posicionamiento funciona como si fuese el mapa de bits de un control en vivo.Caching a control does not affect mouse-over behavior, so mouse-over hit testing operates as if it the bitmap were a live control.

Regeneración de la memoria caché sólo se produce cuando la estructura de la UIElement o los cambios en su subárbol, o cuando el CacheMode cambio de configuración.Cache regeneration occurs only when the structure of the UIElement or its subtree changes, or when the CacheMode settings change. Establecer el RenderAtScale o EnableClearType regeneración de la caché de las causas de las propiedades.Setting the RenderAtScale or EnableClearType properties causes cache regeneration. Los cambios en el árbol visual del elemento primario de almacenado en caché UIElement, tales como transformaciones, escalas, opacidades y efectos, no afectan a la memoria caché.Changes to the parent visual tree of the cached UIElement, such as transforms, scales, opacities, and effects, do not affect the cache.

Las funciones de la memoria caché cuando no está disponible la aceleración de hardware.The cache functions when hardware acceleration is not available. En este caso, el mapa de bits se representa en software y las dimensiones del mapa de bits máxima son 2048 x 2048.In this case, the bitmap is rendered in software, and the maximum bitmap dimensions are 2048 x 2048.

Nota

RenderOptions y TextOptions no se propagan a través de un elemento almacenado en caché.RenderOptions and TextOptions do not propagate through a cached element. Es posible que deba establecer estas opciones de nuevo en los elementos secundarios por debajo de la memoria caché.You may have to set these options again in child elements below the cache.

Constructores

BitmapCache() BitmapCache() BitmapCache() BitmapCache()

Inicializa una nueva instancia de la clase BitmapCache.Initializes a new instance of the BitmapCache class.

BitmapCache(Double) BitmapCache(Double) BitmapCache(Double) BitmapCache(Double)

Inicializa una nueva instancia de la clase BitmapCache con la escala especificado.Initializes a new instance of the BitmapCache class with the specified scale.

Campos

EnableClearTypeProperty EnableClearTypeProperty EnableClearTypeProperty EnableClearTypeProperty

Identifica la propiedad de dependencia EnableClearType.Identifies the EnableClearType dependency property.

RenderAtScaleProperty RenderAtScaleProperty RenderAtScaleProperty RenderAtScaleProperty

Identifica la propiedad de dependencia RenderAtScale.Identifies the RenderAtScale dependency property.

SnapsToDevicePixelsProperty SnapsToDevicePixelsProperty SnapsToDevicePixelsProperty SnapsToDevicePixelsProperty

Identifica la propiedad de dependencia SnapsToDevicePixels.Identifies the SnapsToDevicePixels dependency property.

Propiedades

CanFreeze CanFreeze CanFreeze CanFreeze

Obtiene un valor que indica si el objeto se puede convertir en no modificable.Gets a value that indicates whether the object can be made unmodifiable.

(Inherited from Freezable)
DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

Obtiene el objeto DependencyObjectType que ajusta el tipo CLRCLR de esta instancia.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
EnableClearType EnableClearType EnableClearType EnableClearType

Obtiene o establece un valor que indica si el mapa de bits se presenta con ClearType activado.Gets or sets a value that indicates whether the bitmap is rendered with ClearType activated.

HasAnimatedProperties HasAnimatedProperties HasAnimatedProperties HasAnimatedProperties

Obtiene un valor que indica si uno o más objetos AnimationClock se asocian a cualquiera de las propiedades de dependencia de este objeto.Gets a value that indicates whether one or more AnimationClock objects is associated with any of this object's dependency properties.

(Inherited from Animatable)
IsFrozen IsFrozen IsFrozen IsFrozen

Obtiene un valor que indica si el objeto se puede modificar actualmente.Gets a value that indicates whether the object is currently modifiable.

(Inherited from Freezable)
IsSealed IsSealed IsSealed IsSealed

Obtiene un valor que indica si esta instancia está actualmente sellada (es de solo lectura).Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)
RenderAtScale RenderAtScale RenderAtScale RenderAtScale

Obtiene o establece un valor que indica la escala que se aplicar al mapa de bits.Gets or sets a value that indicates the scale that is applied to the bitmap.

SnapsToDevicePixels SnapsToDevicePixels SnapsToDevicePixels SnapsToDevicePixels

Obtiene o establece un valor que indica si el mapa de bits se presenta con ajuste de píxeles.Gets or sets a value that indicates whether the bitmap is rendered with pixel snapping.

Métodos

ApplyAnimationClock(DependencyProperty, AnimationClock) ApplyAnimationClock(DependencyProperty, AnimationClock) ApplyAnimationClock(DependencyProperty, AnimationClock) ApplyAnimationClock(DependencyProperty, AnimationClock)

Se aplica AnimationClock al valor de DependencyProperty especificado.Applies an AnimationClock to the specified DependencyProperty. Si la propiedad ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.If the property is already animated, the SnapshotAndReplace handoff behavior is used.

(Inherited from Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Se aplica AnimationClock al valor de DependencyProperty especificado.Applies an AnimationClock to the specified DependencyProperty. Si la propiedad ya está animada, se usa el objeto HandoffBehavior especificado.If the property is already animated, the specified HandoffBehavior is used.

(Inherited from Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline) BeginAnimation(DependencyProperty, AnimationTimeline) BeginAnimation(DependencyProperty, AnimationTimeline) BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica una animación a la DependencyProperty especificada.Applies an animation to the specified DependencyProperty. La animación se inicia al representar el siguiente fotograma.The animation is started when the next frame is rendered. Si la propiedad especificada ya está animada, se usa el comportamiento de entrega SnapshotAndReplace.If the specified property is already animated, the SnapshotAndReplace handoff behavior is used.

(Inherited from Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Aplica una animación a la DependencyProperty especificada.Applies an animation to the specified DependencyProperty. La animación se inicia al representar el siguiente fotograma.The animation is started when the next frame is rendered. Si la propiedad especificada ya está animada, se usa el objeto HandoffBehavior especificado.If the specified property is already animated, the specified HandoffBehavior is used.

(Inherited from Animatable)
CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

Borra el valor local de una propiedad.Clears the local value of a property. La propiedad que se va a borrar se especifica mediante un identificador DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

Borra el valor local de una propiedad de solo lectura.Clears the local value of a read-only property. La propiedad que se va a borrar se especifica mediante un DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
Clone() Clone() Clone() Clone()

Crea un clon modificable del elemento BitmapCache y hace copias en profundidad de los valores del objeto.Creates a modifiable clone of the BitmapCache, making deep copies of the object's values. Cuando se copian las propiedades de dependencia del objeto, este método copia las expresiones (que puede que ya no se resuelvan), pero no copia las animaciones ni sus valores actuales.When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable)

Convierte la instancia en un clon (copia en profundidad) de la clase Freezable especificada con valores de propiedad base (no animadas).Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

(Inherited from Freezable)
CloneCurrentValue() CloneCurrentValue() CloneCurrentValue() CloneCurrentValue()

Crea un clon modificable (copia en profundidad) de BitmapCache con sus valores actuales.Creates a modifiable clone (deep copy) of the BitmapCache using its current values.

CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable)

Convierte esta instancia en un clon modificable (copia en profundidad) del Freezable especificado mediante los valores de propiedad actuales.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

(Inherited from Freezable)
CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

Convierte el valor de la propiedad de dependencia especificada.Coerces the value of the specified dependency property. Esto se logra invocando cualquier función CoerceValueCallback especificada en los metadatos de la propiedad de dependencia tal como existe en la clase DependencyObject que llama.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
CreateInstance() CreateInstance() CreateInstance() CreateInstance()

Inicializa una nueva instancia de la clase Freezable.Initializes a new instance of the Freezable class.

(Inherited from Freezable)
CreateInstanceCore() CreateInstanceCore() CreateInstanceCore() CreateInstanceCore()

Cuando se implementa en una clase derivada, crea una nueva instancia de la clase Freezable derivada.When implemented in a derived class, creates a new instance of the Freezable derived class.

(Inherited from Freezable)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si un objeto DependencyObject proporcionado es equivalente al objeto DependencyObject actual.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
Freeze() Freeze() Freeze() Freeze()

Convierte el objeto actual en no modificable y establece su propiedad IsFrozen en true.Makes the current object unmodifiable and sets its IsFrozen property to true.

(Inherited from Freezable)
FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean)

Convierte este objeto Animatable en no modificable o determina si se puede convertir en no modificable.Makes this Animatable object unmodifiable or determines whether it can be made unmodifiable.

(Inherited from Animatable)
GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty)

Devuelve el valor no animado del objeto DependencyProperty especificado.Returns the non-animated value of the specified DependencyProperty.

(Inherited from Animatable)
GetAsFrozen() GetAsFrozen() GetAsFrozen() GetAsFrozen()

Crea una copia inmovilizada de Freezable, con los valores de propiedades base (no animadas).Creates a frozen copy of the Freezable, using base (non-animated) property values. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.Because the copy is frozen, any frozen sub-objects are copied by reference.

(Inherited from Freezable)
GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable)

Convierte la instancia en un clon inmovilizado de la clase Freezable especificada con los valores de propiedades base (no animadas).Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

(Inherited from Freezable)
GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen()

Crea una copia inmovilizada de Freezable con los valores de propiedad actuales.Creates a frozen copy of the Freezable using current property values. Puesto que se inmoviliza la copia, se copia cualquier subobjeto inmovilizado por referencia.Because the copy is frozen, any frozen sub-objects are copied by reference.

(Inherited from Freezable)
GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable)

Convierte la instancia actual en un clon inmovilizado de la clase Freezable especificada.Makes the current instance a frozen clone of the specified Freezable. Si el objeto tiene propiedades de dependencia animadas, se copian sus valores animados actuales.If the object has animated dependency properties, their current animated values are copied.

(Inherited from Freezable)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Obtiene el código hash de DependencyObject.Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

Crea un enumerador especializado para determinar qué propiedades de dependencia han establecido localmente los valores en DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia en esta instancia de un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

Vuelve a evaluar el valor efectivo para la propiedad de dependencia especificada.Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnChanged() OnChanged() OnChanged() OnChanged()

Se llama cuando el objeto Freezable actual.Called when the current Freezable object is modified.

(Inherited from Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Se asegura de que se establecen los punteros contextuales adecuados para un miembro de datos DependencyObjectType que se acaba de establecer.Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

(Inherited from Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este miembro es compatible con la infraestructura de Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) y no está diseñado para utilizarse directamente desde el código.This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

(Inherited from Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

Reemplaza la implementación DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para invocar también cualquier controlador Changed en respuesta a una propiedad de dependencia cambiante de tipo Freezable.Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

(Inherited from Freezable)
ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si existe.Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
ReadPreamble() ReadPreamble() ReadPreamble() ReadPreamble()

Se asegura de que se tiene acceso a Freezable desde un subproceso válido.Ensures that the Freezable is being accessed from a valid thread. Los herederos de Freezable deben llamar a este método al inicio de las APIAPI que lean miembros de datos que no son propiedades de dependencia.Inheritors of Freezable must call this method at the beginning of any APIAPI that reads data members that are not dependency properties.

(Inherited from Freezable)
SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

Establece el valor de una propiedad de dependencia sin cambiar el origen del valor.Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia, especificado mediante el identificador de la propiedad de dependencia.Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

Establece el valor local de una propiedad de dependencia de solo lectura, especificado por el identificador DependencyPropertyKey de la propiedad de dependencia.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

Devuelve un valor que indica si los procesos de serialización deben serializar el valor de la propiedad de dependencia especificada.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
WritePostscript() WritePostscript() WritePostscript() WritePostscript()

Genera el evento Changed para Freezable e invoca su método OnChanged().Raises the Changed event for the Freezable and invokes its OnChanged() method. Las clases que derivan de Freezable deben llamar a este método al final de cualquier API que modifique miembros de clase que no estén almacenados como propiedades de dependencia.Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

(Inherited from Freezable)
WritePreamble() WritePreamble() WritePreamble() WritePreamble()

Comprueba que no se inmovilice Freezable y que se tiene acceso desde un contexto de subproceso válido.Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Los herederos de Freezable deben llamar a este método al inicio de cualquier APIAPI que escriba en miembros de datos que no sean propiedades de dependencia.Freezable inheritors should call this method at the beginning of any APIAPI that writes to data members that are not dependency properties.

(Inherited from Freezable)

Eventos

Changed Changed Changed Changed

Se produce cuando se modifican la clase Freezable o un objeto que la contiene.Occurs when the Freezable or an object it contains is modified.

(Inherited from Freezable)

Se aplica a

Consulte también: