Partager via


BitmapCache Classe

Définition

Crée et met en cache une représentation bitmap d’un 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 cache un Canvas élément. Pour obtenir l’exemple de code complet, consultez Guide pratique pour améliorer les performances de rendu en mettant en cache un élément.

<!-- //////////////////////////////////////////////////////////////// -->
<!-- // 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 classe pour améliorer les BitmapCache performances de rendu d’un complexe UIElement. Créez un BitmapCache élément et affectez-le à la CacheMode propriété d’un UIElement pour mettre en cache l’élément et sa sous-arborescence en tant que bitmap en mémoire vidéo. Cela est utile lorsque vous devez animer, traduire ou mettre à l’échelle le UIElement plus rapidement possible. Cette approche permet un compromis entre les performances et la qualité visuelle pendant que le contenu est mis en cache.

Utilisez la BitmapCacheBrush classe pour réutiliser efficacement un élément mis en cache.

Définissez la propriété pour mettre à l’échelle RenderAtScale le cache bitmap. Cela est utile si un élément est zoomé et que vous souhaitez que l’élément s’affiche plus clairement que si le cache a simplement été généré à la résolution native de l’élément.

Définissez la propriété lorsque le cache affiche le SnapsToDevicePixels contenu qui nécessite l’alignement des pixels pour s’afficher correctement, tel que le texte ClearType. Cette propriété est ignorée par les classes et Viewport2DVisual3D les BitmapCacheBrush classes.

La mise en cache d’un contrôle n’affecte pas le comportement de la souris sur le dessus. Par conséquent, le test d’accès au-dessus de la souris fonctionne comme s’il s’agissait d’un contrôle actif.

La régénération du cache se produit uniquement lorsque la structure de l’arborescence UIElement ou de sa sous-arborescence change, ou lorsque les CacheMode paramètres changent. La définition de l’ou EnableClearType des propriétés entraîne la RenderAtScale régénération du cache. Les modifications apportées à l’arborescence visuelle parente du cache, telles que les transformations, les échelles, les opacités UIElementet les effets, n’affectent pas le cache.

Fonctions de cache lorsque l’accélération matérielle n’est pas disponible. Dans ce cas, la bitmap est rendue dans le logiciel et les dimensions bitmap maximales sont 2048 x 2048.

Note

RenderOptions et TextOptions ne se propagent pas via un élément mis en cache. Vous devrez peut-être définir à nouveau ces options dans les éléments enfants sous le cache.

Constructeurs

Nom Description
BitmapCache()

Initialise une nouvelle instance de la classe BitmapCache.

BitmapCache(Double)

Initialise une nouvelle instance de la BitmapCache classe avec l’échelle spécifiée.

Champs

Nom Description
EnableClearTypeProperty

Identifie la EnableClearType propriété de dépendance.

RenderAtScaleProperty

Identifie la RenderAtScale propriété de dépendance.

SnapsToDevicePixelsProperty

Identifie la SnapsToDevicePixels propriété de dépendance.

Propriétés

Nom Description
CanFreeze

Obtient une valeur qui indique si l’objet peut être rendu non modifiable.

(Hérité de Freezable)
DependencyObjectType

Obtient le DependencyObjectType type CLR de cette instance.

(Hérité de DependencyObject)
Dispatcher

Obtient ce Dispatcher qui DispatcherObject est associé.

(Hérité de DispatcherObject)
EnableClearType

Obtient ou définit une valeur qui indique si la bitmap est rendue avec ClearType activé.

HasAnimatedProperties

Obtient une valeur qui indique si un ou plusieurs AnimationClock objets sont associés à l’une des propriétés de dépendance de cet objet.

(Hérité de Animatable)
IsFrozen

Obtient une valeur qui indique si l’objet est actuellement modifiable.

(Hérité de Freezable)
IsSealed

Obtient une valeur qui indique si cette instance est actuellement scellée (en lecture seule).

(Hérité de DependencyObject)
RenderAtScale

Obtient ou définit une valeur qui indique l’échelle appliquée à la bitmap.

SnapsToDevicePixels

Obtient ou définit une valeur qui indique si la bitmap est rendue avec l’alignement de pixels.

Méthodes

Nom Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Applique un AnimationClock à l’objet spécifié DependencyProperty. Si la propriété est déjà animée, la propriété HandoffBehavior spécifiée est utilisée.

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

Applique un AnimationClock à l’objet spécifié DependencyProperty. Si la propriété est déjà animée, le comportement de SnapshotAndReplace transfert est utilisé.

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

Applique une animation au fichier spécifié DependencyProperty. L’animation est démarrée lorsque l’image suivante est rendue. Si la propriété spécifiée est déjà animée, celle-ci HandoffBehavior est utilisée.

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

Applique une animation au fichier spécifié DependencyProperty. L’animation est démarrée lorsque l’image suivante est rendue. Si la propriété spécifiée est déjà animée, le comportement de SnapshotAndReplace transfert est utilisé.

(Hérité de Animatable)
CheckAccess()

Détermine si le thread appelant a accès à ce DispatcherObjectfichier .

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

Efface la valeur locale d’une propriété. La propriété à effacer est spécifiée par un DependencyProperty identificateur.

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

Efface la valeur locale d’une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey.

(Hérité de DependencyObject)
Clone()

Crée un clone modifiable de l’objet BitmapCache, effectuant des copies approfondies des valeurs de l’objet. Lors de la copie des propriétés de dépendance de l’objet, cette méthode copie les expressions (qui peuvent ne plus être résolues), mais pas les animations ou leurs valeurs actuelles.

CloneCore(Freezable)

Rend l’instance un clone (copie approfondie) de la propriété de base (non animée) spécifiée Freezable .

(Hérité de Freezable)
CloneCurrentValue()

Crée un clone modifiable (copie approfondie) de l’utilisation BitmapCache de ses valeurs actuelles.

CloneCurrentValueCore(Freezable)

Rend l’instance un clone modifiable (copie approfondie) de l’élément spécifié Freezable à l’aide de valeurs de propriété actuelles.

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

Force la valeur de la propriété de dépendance spécifiée. Pour ce faire, appelez n’importe quelle CoerceValueCallback fonction spécifiée dans les métadonnées de propriété pour la propriété de dépendance telle qu’elle existe sur l’appel DependencyObject.

(Hérité de DependencyObject)
CreateInstance()

Initialise une nouvelle instance de la classe Freezable.

(Hérité de Freezable)
CreateInstanceCore()

En cas d’implémentation dans une classe dérivée, crée une nouvelle instance de la Freezable classe dérivée.

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

Détermine si un élément fourni DependencyObject est équivalent à l’actuel DependencyObject.

(Hérité de DependencyObject)
Freeze()

Rend l’objet actuel non modifiable et définit sa IsFrozen propriété sur true.

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

Rend cet Animatable objet non modifiable ou détermine s’il peut être rendu inmodifiable.

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

Retourne la valeur non animée de l’objet spécifié DependencyProperty.

(Hérité de Animatable)
GetAsFrozen()

Crée une copie figée des valeurs de Freezablepropriété de base (non animées). Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

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

Rend l’instance un clone figé de la propriété spécifiée à Freezable l’aide de valeurs de propriété de base (non animées).

(Hérité de Freezable)
GetCurrentValueAsFrozen()

Crée une copie figée de l’utilisation Freezable des valeurs de propriété actuelles. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence.

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

Rend l’instance actuelle un clone figé du fichier spécifié Freezable. Si l’objet a des propriétés de dépendance animée, leurs valeurs animées actuelles sont copiées.

(Hérité de Freezable)
GetHashCode()

Obtient un code de hachage pour ce 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.

(Hérité de DependencyObject)
GetType()

Obtient la Type de l’instance actuelle.

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

Retourne la valeur effective actuelle d’une propriété de dépendance sur cette instance d’un DependencyObject.

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

Évalue à nouveau la valeur effective de la propriété de dépendance spécifiée.

(Hérité de DependencyObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
OnChanged()

Appelé lorsque l’objet actuel Freezable est modifié.

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

Ce membre prend en charge l’infrastructure WPF (Windows Presentation Foundation) et n’est pas destiné à être utilisé directement à partir de votre code.

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

Garantit que les pointeurs de contexte appropriés sont établis pour un DependencyObjectType membre de données qui vient d’être défini.

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

Remplace l’implémentation DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) l’appel de tous Changed les gestionnaires en réponse à une propriété de dépendance modifiée de type Freezable.

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

Retourne la valeur locale d’une propriété de dépendance, le cas échéant.

(Hérité de DependencyObject)
ReadPreamble()

Garantit l’accès Freezable à partir d’un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API qui lit les membres de données qui ne sont pas des propriétés de dépendance.

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

Définit la valeur d’une propriété de dépendance sans modifier sa source de valeur.

(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.

(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.

(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.

(Hérité de DependencyObject)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)
VerifyAccess()

Applique que le thread appelant a accès à ce DispatcherObjectfichier .

(Hérité de DispatcherObject)
WritePostscript()

Déclenche l’événement Changed pour la Freezable méthode et appelle sa OnChanged() méthode. Les classes dérivées Freezable de doivent appeler cette méthode à la fin de toute API qui modifie les membres de classe qui ne sont pas stockés en tant que propriétés de dépendance.

(Hérité de Freezable)
WritePreamble()

Vérifie que l’objet Freezable n’est pas figé et qu’il est accessible à partir d’un contexte de threading valide. Freezable Les hériteurs doivent appeler cette méthode au début de toute API qui écrit dans les membres de données qui ne sont pas des propriétés de dépendance.

(Hérité de Freezable)

Événements

Nom Description
Changed

Se produit lorsque l’objet Freezable qu’il contient est modifié.

(Hérité de Freezable)

S’applique à

Voir aussi