BitmapCache Classe

Définition

Crée et met en cache une représentation de bitmap d'un 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
Héritage

Exemples

Le code XAML suivant montre comment mettre en Canvas cache un élément.The following XAML shows how to cache a Canvas element. Pour obtenir un exemple de code complet , consultez Procédure: Améliorez les performances de rendu enmettant en cache un élément.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>

Remarques

Utilisez la BitmapCache classe pour améliorer les performances de rendu d' UIElementun complexe.Use the BitmapCache class to improve rendering performance of a complex UIElement. Créez un BitmapCache et assignez- CacheMode le à la UIElement propriété d’un pour mettre en cache l’élément et sa sous-arborescence en tant que bitmap dans la mémoire vidéo.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. Cela est utile lorsque vous devez animer, traduire ou mettre à l' UIElement échelle un aussi rapidement que possible.This is useful when you need to animate, translate, or scale a UIElement as quickly as possible. Cette approche permet un compromis entre les performances et la qualité visuelle pendant la mise en cache du contenu.This approach enables a tradeoff between performance and visual quality while content is cached.

Utilisez la BitmapCacheBrush classe pour réutiliser efficacement un élément mis en cache.Use the BitmapCacheBrush class to efficiently reuse a cached element.

Définissez la RenderAtScale propriété pour mettre à l’échelle le cache bitmap.Set the RenderAtScale property to scale the bitmap cache. Cela est utile si un zoom est appliqué à un élément et que l’élément doit être rendu plus clairement que si le cache était généré simplement à la résolution native de l’élément.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.

Définissez la SnapsToDevicePixels propriété lorsque le cache affiche du contenu qui nécessite un alignement de pixels pour un rendu correct, tel que le texte ClearType.Set the SnapsToDevicePixels property when the cache displays content that requires pixel-alignment to render correctly, such as ClearType text. Cette propriété est ignorée par BitmapCacheBrush les Viewport2DVisual3D classes et.This property is ignored by the BitmapCacheBrush and Viewport2DVisual3D classes.

La mise en cache d’un contrôle n’affecte pas le comportement de la souris. par conséquent, le test de positionnement avec la souris fonctionne comme s’il s’agissait d’un contrôle actif.Caching a control does not affect mouse-over behavior, so mouse-over hit testing operates as if it the bitmap were a live control.

La régénération du cache se produit uniquement lorsque la UIElement structure de ou de sa sous-arborescence change CacheMode , ou lorsque les paramètres sont modifiés.Cache regeneration occurs only when the structure of the UIElement or its subtree changes, or when the CacheMode settings change. La définition RenderAtScale des EnableClearType propriétés ou entraîne la régénération du cache.Setting the RenderAtScale or EnableClearType properties causes cache regeneration. Les modifications apportées à l’arborescence d’éléments UIElementvisuels parent du mis en cache, telles que les transformations, les échelles, les opacities et les effets, n’affectent pas le cache.Changes to the parent visual tree of the cached UIElement, such as transforms, scales, opacities, and effects, do not affect the cache.

Le cache fonctionne lorsque l’accélération matérielle n’est pas disponible.The cache functions when hardware acceleration is not available. Dans ce cas, l’image bitmap est rendue dans le logiciel et les dimensions maximales de la bitmap sont 2048 x 2048.In this case, the bitmap is rendered in software, and the maximum bitmap dimensions are 2048 x 2048.

Notes

RenderOptionset TextOptions ne se propagent pas via un élément mis en cache.RenderOptions and TextOptions do not propagate through a cached element. Vous devrez peut-être redéfinir ces options dans les éléments enfants situés sous le cache.You may have to set these options again in child elements below the cache.

Constructeurs

BitmapCache()

Initialise une nouvelle instance de la classe BitmapCache.Initializes a new instance of the BitmapCache class.

BitmapCache(Double)

Initialise une nouvelle instance de la classe BitmapCache avec l'échelle spécifiée.Initializes a new instance of the BitmapCache class with the specified scale.

Champs

EnableClearTypeProperty

Identifie la propriété de dépendance EnableClearType.Identifies the EnableClearType dependency property.

RenderAtScaleProperty

Identifie la propriété de dépendance RenderAtScale.Identifies the RenderAtScale dependency property.

SnapsToDevicePixelsProperty

Identifie la propriété de dépendance SnapsToDevicePixels.Identifies the SnapsToDevicePixels dependency property.

Propriétés

CanFreeze

Obtient une valeur qui indique si l’objet peut être rendu non modifiable.Gets a value that indicates whether the object can be made unmodifiable.

(Hérité de Freezable)
DependencyObjectType

Obtient le DependencyObjectType qui encapsule le type CLRCLR de cette instance.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Hérité de DependencyObject)
Dispatcher

Obtient le Dispatcher associé à DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Hérité de DispatcherObject)
EnableClearType

Obtient ou définit une valeur qui indique si la bitmap est restituée avec ClearType activé.Gets or sets a value that indicates whether the bitmap is rendered with ClearType activated.

HasAnimatedProperties

Obtient une valeur qui indique si un ou plusieurs objets AnimationClock sont associés à l'une ou l'autre des propriétés de dépendance de cet objet.Gets a value that indicates whether one or more AnimationClock objects is associated with any of this object's dependency properties.

(Hérité de Animatable)
IsFrozen

Obtient une valeur qui indique si l’objet est actuellement modifiable.Gets a value that indicates whether the object is currently modifiable.

(Hérité de Freezable)
IsSealed

Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule).Gets a value that indicates whether this instance is currently sealed (read-only).

(Hérité de DependencyObject)
RenderAtScale

Obtient ou définit une valeur qui indique l'échelle appliquée à la bitmap.Gets or sets a value that indicates the scale that is applied to the bitmap.

SnapsToDevicePixels

Obtient ou définit une valeur qui indique si la bitmap est restituée avec l'alignement des pixels.Gets or sets a value that indicates whether the bitmap is rendered with pixel snapping.

Méthodes

ApplyAnimationClock(DependencyProperty, AnimationClock)

Applique AnimationClock au DependencyProperty spécifié.Applies an AnimationClock to the specified DependencyProperty. Si la propriété est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé.If the property is already animated, the SnapshotAndReplace handoff behavior is used.

(Hérité de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Applique AnimationClock au DependencyProperty spécifié.Applies an AnimationClock to the specified DependencyProperty. Si la propriété spécifiée est déjà animée, le comportement HandoffBehavior spécifié est utilisé.If the property is already animated, the specified HandoffBehavior is used.

(Hérité de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Applique une animation au DependencyProperty spécifié.Applies an animation to the specified DependencyProperty. L’animation est démarrée lors de la restitution de l’image suivante.The animation is started when the next frame is rendered. Si la propriété spécifiée est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé.If the specified property is already animated, the SnapshotAndReplace handoff behavior is used.

(Hérité de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Applique une animation au DependencyProperty spécifié.Applies an animation to the specified DependencyProperty. L’animation est démarrée lors de la restitution de l’image suivante.The animation is started when the next frame is rendered. Si la propriété spécifiée est déjà animée, le comportement HandoffBehavior spécifié est utilisé.If the specified property is already animated, the specified HandoffBehavior is used.

(Hérité de Animatable)
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Hérité de DispatcherObject)
ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété.Clears the local value of a property. La propriété à effacer est spécifiée par un identificateur DependencyProperty.The property to be cleared is specified by a DependencyProperty identifier.

(Hérité de DependencyObject)
ClearValue(DependencyPropertyKey)

Efface la valeur locale d’une propriété en lecture seule.Clears the local value of a read-only property. La propriété à effacer est spécifiée par DependencyPropertyKey.The property to be cleared is specified by a DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable de BitmapCache, en créant des copies complètes des valeurs de l’objet.Creates a modifiable clone of the BitmapCache, making deep copies of the object's values. Lors de la copie des propriétés de dépendance de l’objet, cette méthode copie les expressions (qui peuvent ne plus se résoudre), mais pas les animations ni leurs valeurs actuelles.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)

Fait de l’instance un clone (copie complète) du Freezable spécifié utilisant des valeurs de propriété (non animée) de base.Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

(Hérité de Freezable)
CloneCurrentValue()

Crée un clone modifiable (copie complète) de BitmapCache en utilisant ses valeurs actuelles.Creates a modifiable clone (deep copy) of the BitmapCache using its current values.

CloneCurrentValueCore(Freezable)

Fait de l’instance un clone (copie complète) modifiable du Freezable spécifié à l’aide des valeurs de propriété actuelles.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

(Hérité de Freezable)
CoerceValue(DependencyProperty)

Convertit la valeur de la propriété de dépendance spécifiée.Coerces the value of the specified dependency property. Pour cela, on appelle toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur le DependencyObject appelant.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Hérité de DependencyObject)
CreateInstance()

Initialise une nouvelle instance de la classe Freezable.Initializes a new instance of the Freezable class.

(Hérité de Freezable)
CreateInstanceCore()

Une fois implémentée dans une classe dérivée, initialise une nouvelle instance de la classe dérivée Freezable.When implemented in a derived class, creates a new instance of the Freezable derived class.

(Hérité de Freezable)
Equals(Object)

Détermine si un DependencyObject fourni est équivalent au DependencyObject réel.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actif non modifiable et attribue à sa propriété IsFrozen la valeur true.Makes the current object unmodifiable and sets its IsFrozen property to true.

(Hérité de Freezable)
FreezeCore(Boolean)

Rend cet objet Animatable non modifiable ou détermine s'il peut être rendu non modifiable.Makes this Animatable object unmodifiable or determines whether it can be made unmodifiable.

(Hérité de Animatable)
GetAnimationBaseValue(DependencyProperty)

Retourne la valeur non animée de la propriété DependencyProperty spécifiée.Returns the non-animated value of the specified DependencyProperty.

(Hérité de Animatable)
GetAsFrozen()

Crée une copie figée de Freezable, à l'aide des valeurs de propriété (non-animées) de base.Creates a frozen copy of the Freezable, using base (non-animated) property values. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.Because the copy is frozen, any frozen sub-objects are copied by reference.

(Hérité de Freezable)
GetAsFrozenCore(Freezable)

Transforme l’instance en clone figé du Freezable spécifié utilisant des valeurs de propriété (non animée) de base.Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

(Hérité de Freezable)
GetCurrentValueAsFrozen()

Crée une copie figée de Freezable à l'aide des valeurs de propriété actuelles.Creates a frozen copy of the Freezable using current property values. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.Because the copy is frozen, any frozen sub-objects are copied by reference.

(Hérité de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Convertit l'instance actuelle en un clone figé du Freezable spécifié.Makes the current instance a frozen clone of the specified Freezable. Si l’objet a des propriétés de dépendance animées, leurs valeurs animées actuelles sont copiées.If the object has animated dependency properties, their current animated values are copied.

(Hérité de Freezable)
GetHashCode()

Obtient un code de hachage pour ce DependencyObject.Gets a hash code for this DependencyObject.

(Hérité de DependencyObject)
GetLocalValueEnumerator()

Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Hérité de DependencyObject)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Hérité de DependencyObject)
InvalidateProperty(DependencyProperty)

Réévalue la valeur effective de la propriété de dépendance spécifiée.Re-evaluates the effective value for the specified dependency property.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
OnChanged()

Appelé lorsque l’objet Freezable actuel est modifié.Called when the current Freezable object is modified.

(Hérité de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garantit que les pointeurs de contexte appropriés sont établis pour un membre de données de type DependencyObjectType qui vient juste d'être défini.Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

(Hérité de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ce membre prend en charge l’infrastructure Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) et n’est pas destiné à être directement utilisé à partir de votre code.This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

(Hérité de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Substitue l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) pour appeler également tous les gestionnaires Changed en réponse à une propriété de dépendance variable de type Freezable.Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

(Hérité de Freezable)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si elle existe.Returns the local value of a dependency property, if it exists.

(Hérité de DependencyObject)
ReadPreamble()

Garantit que Freezable est accessible à partir d'un thread valide.Ensures that the Freezable is being accessed from a valid thread. Les héritiers de Freezable doivent appeler cette méthode au début de toute API lisant les membres de données qui ne sont pas des propriétés de dépendance.Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties.

(Hérité de Freezable)
SetCurrentValue(DependencyProperty, Object)

Définit la valeur d’une propriété de dépendance sans modifier sa valeur source.Sets the value of a dependency property without changing its value source.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance.Sets the local value of a dependency property, specified by its dependency property identifier.

(Hérité de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Définit la valeur locale d’une propriété de dépendance en lecture seule, spécifiée par l’identificateur DependencyPropertyKey de la propriété de dépendance.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Hérité de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur de la propriété de dépendance fournie.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

(Hérité de Object)
VerifyAccess()

Garantit que le thread appelant a accès à DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour le Freezable et appelle sa méthode OnChanged().Raises the Changed event for the Freezable and invokes its OnChanged() method. Les classes qui dérivent de Freezable doivent appeler cette méthode à la fin de toute API qui modifie des membres de classe qui ne sont pas stockés en tant que propriétés de dépendance.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.

(Hérité de Freezable)
WritePreamble()

Vérifie que le Freezable n'est pas figé et que son accès s'effectue à partir d'un contexte de thread valide.Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Les héritiers de Freezable doivent appeler cette méthode au début de toute API écrivant dans les membres de données qui ne sont pas des propriétés de dépendance.Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties.

(Hérité de Freezable)

Événements

Changed

Se produit lorsque Freezable ou un objet qu'il contient est modifié.Occurs when the Freezable or an object it contains is modified.

(Hérité de Freezable)

S’applique à

Voir aussi