Sdílet prostřednictvím


BitmapCache Třída

Definice

Vytvoří rastrovou reprezentaci objektu a ukládá ji do UIElementmezipaměti.

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
Dědičnost

Příklady

Následující kód XAML ukazuje, jak uložit element do Canvas mezipaměti. Úplný příklad kódu najdete v tématu Postupy: Zlepšení výkonu vykreslování ukládáním elementu do mezipaměti.

<!-- //////////////////////////////////////////////////////////////// -->
<!-- // 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>

Poznámky

BitmapCache Pomocí třídy můžete zlepšit výkon vykreslování komplexního UIElementobjektu . Vytvořte BitmapCache objekt a přiřaďte ho UIElement k CacheMode vlastnosti elementu a jeho podstromu do mezipaměti jako rastrového obrázku ve videopamětě. To je užitečné, když potřebujete co nejrychleji animovat, překládat nebo škálovat UIElement . Tento přístup umožňuje kompromis mezi výkonem a kvalitou vizuálu při ukládání obsahu do mezipaměti.

BitmapCacheBrush Použijte třídu k efektivnímu opakovanému použití elementu uloženého v mezipaměti.

RenderAtScale Nastavte vlastnost pro škálování mezipaměti rastrových obrázků. To je užitečné, pokud se prvek přiblíží a chcete, aby se vykresloval jasněji, než kdyby se mezipaměť jednoduše vygenerovala v nativním rozlišení elementu.

Nastavte vlastnost, SnapsToDevicePixels když mezipaměť zobrazí obsah, který vyžaduje zarovnání pixelů, aby se správně vykreslily, například text ClearType. Tato vlastnost je ignorována třídami BitmapCacheBrush a Viewport2DVisual3D .

Ukládání ovládacího prvku do mezipaměti nemá vliv na chování při procházení myší, takže testování myší funguje, jako by rastrový obrázek byl živý ovládací prvek.

K regeneraci mezipaměti dochází pouze v případě, že se změní struktura podstromu UIElement nebo jeho podstromu nebo když se CacheMode změní nastavení. RenderAtScale Nastavení vlastností nebo EnableClearType způsobí regeneraci mezipaměti. Změny nadřazeného vizuálního stromu uloženého v mezipaměti UIElement, jako jsou transformace, škálování, neprůjemná a efekty, na mezipaměť nemají vliv.

Mezipaměť funguje, když není k dispozici hardwarová akcelerace. V tomto případě je rastrový obrázek vykreslen v softwaru a maximální rozměry rastru jsou 2048 x 2048.

Poznámka

RenderOptions a TextOptions nešísate se prostřednictvím elementu uloženého v mezipaměti. Je možné, že tyto možnosti budete muset znovu nastavit v podřízených elementech pod mezipamětí.

Konstruktory

BitmapCache()

Inicializuje novou instanci BitmapCache třídy.

BitmapCache(Double)

Inicializuje novou instanci BitmapCache třídy se zadaným měřítkem.

Pole

EnableClearTypeProperty

Identifikuje EnableClearType vlastnost závislosti.

RenderAtScaleProperty

Identifikuje RenderAtScale vlastnost závislosti.

SnapsToDevicePixelsProperty

Identifikuje SnapsToDevicePixels vlastnost závislosti.

Vlastnosti

CanFreeze

Získá hodnotu, která označuje, zda objekt lze změnit.

(Zděděno od Freezable)
DependencyObjectType

DependencyObjectType Získá, který zabalí typ CLR této instance.

(Zděděno od DependencyObject)
Dispatcher

Získá přidruženou Dispatcher k tomuto DispatcherObject .

(Zděděno od DispatcherObject)
EnableClearType

Získá nebo nastaví hodnotu, která označuje, zda rastrový obrázek je vykreslen s ClearType aktivované.

HasAnimatedProperties

Získá hodnotu, která označuje, zda jeden nebo více AnimationClock objektů je přidružena k některé z vlastností závislostí tohoto objektu.

(Zděděno od Animatable)
IsFrozen

Získá hodnotu, která označuje, zda objekt je aktuálně modifikovatelný.

(Zděděno od Freezable)
IsSealed

Získá hodnotu, která označuje, zda je tato instance aktuálně zapečetěna (jen pro čtení).

(Zděděno od DependencyObject)
RenderAtScale

Získá nebo nastaví hodnotu, která označuje měřítko, které je použito na rastrový obrázek.

SnapsToDevicePixels

Získá nebo nastaví hodnotu, která označuje, zda rastrový obrázek je vykreslen pomocí přichycení pixelů.

Metody

ApplyAnimationClock(DependencyProperty, AnimationClock)

Použije na AnimationClock zadaný DependencyPropertyobjekt . Pokud je vlastnost již animovaná, SnapshotAndReplace použije se chování předání.

(Zděděno od Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Použije na AnimationClock zadaný DependencyPropertyobjekt . Pokud je vlastnost již animovaná, použije se zadaná HandoffBehavior vlastnost.

(Zděděno od Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Použije animaci na zadaný DependencyPropertyobjekt . Animace se spustí při vykreslení dalšího snímku. Pokud je zadaná vlastnost již animované, SnapshotAndReplace použije se chování předání.

(Zděděno od Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Použije animaci na zadaný DependencyPropertyobjekt . Animace se spustí při vykreslení dalšího snímku. Pokud je zadaná vlastnost již animovaný, použije se zadaná HandoffBehavior vlastnost.

(Zděděno od Animatable)
CheckAccess()

Určuje, zda má volající vlákno přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která se má vymazat, je určena identifikátorem DependencyProperty .

(Zděděno od DependencyObject)
ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, je určena parametrem DependencyPropertyKey.

(Zděděno od DependencyObject)
Clone()

Vytvoří upravitelný klon objektu BitmapCache, který vytváří hluboké kopie hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které už nemusí přeložit), ale ne animace nebo jejich aktuální hodnoty.

CloneCore(Freezable)

Vytvoří instanci jako klon (hloubkovou kopii) zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností.

(Zděděno od Freezable)
CloneCurrentValue()

Vytvoří upravitelný klon (hloubkovou kopii) objektu BitmapCache s použitím jeho aktuálních hodnot.

CloneCurrentValueCore(Freezable)

Vytvoří instanci jako upravitelný klon (hloubkovou kopii) zadaného Freezable pomocí aktuálních hodnot vlastností.

(Zděděno od Freezable)
CoerceValue(DependencyProperty)

Převede hodnotu zadané vlastnosti závislosti. Toho dosáhnete vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastnosti pro vlastnost závislosti, protože existuje ve volajícím DependencyObjectobjektu .

(Zděděno od DependencyObject)
CreateInstance()

Inicializuje novou instanci Freezable třídy.

(Zděděno od Freezable)
CreateInstanceCore()

Při implementaci v odvozené třídě vytvoří novou instanci odvozené Freezable třídy.

(Zděděno od Freezable)
Equals(Object)

Určuje, zda je zadaný DependencyObject ekvivalent k aktuálnímu DependencyObject.

(Zděděno od DependencyObject)
Freeze()

Nastaví aktuální objekt jako nemodifikovatelný a nastaví jeho IsFrozen vlastnost na true.

(Zděděno od Freezable)
FreezeCore(Boolean)

Způsobí, že tento Animatable objekt není upravitelný nebo určuje, zda jej lze změnit.

(Zděděno od Animatable)
GetAnimationBaseValue(DependencyProperty)

Vrátí hodnotu, která není animovaná zadanou DependencyPropertyhodnotou .

(Zděděno od Animatable)
GetAsFrozen()

Vytvoří zamrzlou kopii objektu Freezable, pomocí základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, všechny zmrazené pod objekty jsou zkopírovány odkazem.

(Zděděno od Freezable)
GetAsFrozenCore(Freezable)

Vytvoří instanci jako zmrazený klon zadaného Freezable pomocí základních (neoměněných) hodnot vlastností.

(Zděděno od Freezable)
GetCurrentValueAsFrozen()

Vytvoří zmrazenou kopii Freezable pomocí aktuálních hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, všechny zmrazené pod objekty jsou zkopírovány odkazem.

(Zděděno od Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Vytvoří aktuální instanci jako zmrazený klon zadaného Freezableobjektu . Pokud má objekt animované vlastnosti závislostí, zkopírují se jeho aktuální animované hodnoty.

(Zděděno od Freezable)
GetHashCode()

Získá hash kód pro tento DependencyObject.

(Zděděno od DependencyObject)
GetLocalValueEnumerator()

Vytvoří specializovaný enumerátor pro určení vlastností závislostí, které mají místně nastavené hodnoty v tomto DependencyObjectobjektu .

(Zděděno od DependencyObject)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
GetValue(DependencyProperty)

Vrátí aktuální efektivní hodnotu vlastnosti závislosti na této instanci objektu DependencyObject.

(Zděděno od DependencyObject)
InvalidateProperty(DependencyProperty)

Znovu vyhodnotí efektivní hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnChanged()

Volá se při změně aktuálního Freezable objektu.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zajišťuje, aby byly pro datový člen, který byl právě nastaven, vytvořeny odpovídající kontextové DependencyObjectType ukazatele.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určen k použití přímo z vašeho kódu.

(Zděděno od Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Přepíše implementaci DependencyObject tak, OnPropertyChanged(DependencyPropertyChangedEventArgs) aby také vyvolala všechny Changed obslužné rutiny v reakci na měnící se vlastnost závislosti typu Freezable.

(Zděděno od Freezable)
ReadLocalValue(DependencyProperty)

Vrátí místní hodnotu vlastnosti závislosti, pokud existuje.

(Zděděno od DependencyObject)
ReadPreamble()

Zajišťuje, že Freezable se k souboru přistupuje z platného vlákna. Dědiči Freezable musí tuto metodu volat na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnosti závislostí.

(Zděděno od Freezable)
SetCurrentValue(DependencyProperty, Object)

Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnoty.

(Zděděno od DependencyObject)
SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
VerifyAccess()

Vynutí, aby volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
WritePostscript()

Changed Vyvolá událost pro Freezable a vyvolá její OnChanged() metodu. Třídy odvozené z Freezable by měly tuto metodu volat na konci libovolného rozhraní API, které upravuje členy třídy, které nejsou uloženy jako vlastnosti závislostí.

(Zděděno od Freezable)
WritePreamble()

Ověřuje, že Freezable objekt není zamrznutý a že se k němu přistupuje z platného kontextu podprocesů. Freezable Dědiče by měli tuto metodu volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnosti závislostí.

(Zděděno od Freezable)

Událost

Changed

Nastane při změně objektu Freezable nebo objektu, který obsahuje.

(Zděděno od Freezable)

Platí pro

Viz také