BitmapCache クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
例
次の XAML は、要素をキャッシュする方法を Canvas 示しています。 完全なコード例については、「 方法: 要素をキャッシュしてレンダリング パフォーマンスを向上させる」を参照してください。
<!-- //////////////////////////////////////////////////////////////// -->
<!-- // 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>
注釈
BitmapCache クラスを使用すると、複雑な UIElement のレンダリング パフォーマンスを向上させることができます。 をBitmapCache作成し、 の UIElement プロパティにCacheMode割り当てて、要素とそのサブツリーをビットマップとしてビデオ メモリにキャッシュします。 これは、 を可能な限り迅速にアニメーション化、翻訳、またはスケーリング UIElement する必要がある場合に便利です。 このアプローチにより、コンテンツがキャッシュされている間にパフォーマンスとビジュアル品質のトレードオフが可能になります。
クラスを BitmapCacheBrush 使用して、キャッシュされた要素を効率的に再利用します。
ビットマップ キャッシュを RenderAtScale スケーリングするには、 プロパティを設定します。 これは、要素がズームされ、キャッシュが単に要素のネイティブ解像度で生成された場合よりも明確に要素をレンダリングする場合に便利です。
SnapsToDevicePixels ClearType テキストなど、正しくレンダリングするためにピクセル配置を必要とするコンテンツがキャッシュに表示される場合は、 プロパティを設定します。 このプロパティは、 クラスと Viewport2DVisual3D クラスではBitmapCacheBrush無視されます。
コントロールをキャッシュしてもマウス オーバー動作には影響しないため、マウス オーバー ヒット テストはビットマップがライブ コントロールであるかのように動作します。
キャッシュの再生成は、 またはそのサブツリーの UIElement 構造が変更された場合、または設定が変更された場合にのみ発生します CacheMode 。 または EnableClearType プロパティをRenderAtScale設定すると、キャッシュが再生成されます。 変換、スケール、不透明度、効果など、キャッシュされた UIElementの親ビジュアル ツリーに対する変更は、キャッシュには影響しません。
ハードウェア アクセラレーションが使用できない場合、キャッシュは機能します。 この場合、ビットマップはソフトウェアでレンダリングされ、ビットマップの最大サイズは 2048 x 2048 です。
注意
RenderOptions と TextOptions は、キャッシュされた要素を介して伝達されません。 キャッシュの下の子要素で、これらのオプションをもう一度設定する必要がある場合があります。
コンストラクター
BitmapCache() |
BitmapCache クラスの新しいインスタンスを初期化します。 |
BitmapCache(Double) |
指定したスケールを使用して、BitmapCache クラスの新しいインスタンスを初期化します。 |
フィールド
EnableClearTypeProperty |
EnableClearType 依存関係プロパティを識別します。 |
RenderAtScaleProperty |
RenderAtScale 依存関係プロパティを識別します。 |
SnapsToDevicePixelsProperty |
SnapsToDevicePixels 依存関係プロパティを識別します。 |
プロパティ
CanFreeze |
オブジェクトを変更不可能にできるかどうかを示す値を取得します。 (継承元 Freezable) |
DependencyObjectType |
このインスタンスの DependencyObjectType CLR 型をラップする を取得します。 (継承元 DependencyObject) |
Dispatcher |
この Dispatcher が関連付けられている DispatcherObject を取得します。 (継承元 DispatcherObject) |
EnableClearType |
ClearType をアクティブにして、ビットマップを描画するかどうかを指定する値を取得または設定します。 |
HasAnimatedProperties |
1 つ以上の AnimationClock オブジェクトが、このオブジェクトの任意の依存関係プロパティに関連付けられているかどうかを示す値を取得または設定します。 (継承元 Animatable) |
IsFrozen |
オブジェクトが変更可能かどうかを示す値を取得します。 (継承元 Freezable) |
IsSealed |
このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。 (継承元 DependencyObject) |
RenderAtScale |
ビットマップに適用されるスケールを示す値を取得または設定します。 |
SnapsToDevicePixels |
ピクセル スナップを使用して、ビットマップを描画するかどうかを示す値を取得または設定します。 |
メソッド
ApplyAnimationClock(DependencyProperty, AnimationClock) |
AnimationClock を指定した DependencyProperty に適用します。 プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。 (継承元 Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
AnimationClock を指定した DependencyProperty に適用します。 プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。 (継承元 Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
指定された DependencyProperty にアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定されたプロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。 (継承元 Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
指定された DependencyProperty にアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定したプロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。 (継承元 Animatable) |
CheckAccess() |
呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。 (継承元 DispatcherObject) |
ClearValue(DependencyProperty) |
プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。 (継承元 DependencyObject) |
ClearValue(DependencyPropertyKey) |
読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。 (継承元 DependencyObject) |
Clone() |
BitmapCache の変更可能な複製を作成し、オブジェクトの値の詳細コピーを作成します。 このメソッドは、オブジェクトの依存関係プロパティをコピーするときに式をコピーしますが (コピーされた式は解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。 |
CloneCore(Freezable) |
基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを、指定した Freezable の複製 (詳細コピー) にします。 (継承元 Freezable) |
CloneCurrentValue() |
BitmapCache の現在の値を使用して、変更可能な複製 (詳細コピー) を作成します。 |
CloneCurrentValueCore(Freezable) |
現在のプロパティ値を使用して、インスタンスを、指定した Freezable の変更可能な複製 (詳細コピー) にします。 (継承元 Freezable) |
CoerceValue(DependencyProperty) |
指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。 (継承元 DependencyObject) |
CreateInstance() |
Freezable クラスの新しいインスタンスを初期化します。 (継承元 Freezable) |
CreateInstanceCore() |
派生クラスで実装された場合、Freezable 派生クラスの新しいインスタンスを作成します。 (継承元 Freezable) |
Equals(Object) |
指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。 (継承元 DependencyObject) |
Freeze() |
現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを |
FreezeCore(Boolean) |
Animatable オブジェクトを変更不可能な状態にするか、変更不可能な状態にできるかどうかを判断します。 (継承元 Animatable) |
GetAnimationBaseValue(DependencyProperty) |
指定した DependencyProperty のアニメーション化されていない値を返します。 (継承元 Animatable) |
GetAsFrozen() |
基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。 (継承元 Freezable) |
GetAsFrozenCore(Freezable) |
基本プロパティ値 (アニメーション化されていない値) を使用して、インスタンスを、指定した Freezable の固定された複製にします。 (継承元 Freezable) |
GetCurrentValueAsFrozen() |
現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。 (継承元 Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
現在のインスタンスを、指定した Freezable の固定された複製にします。 オブジェクトに、アニメーション化された依存関係プロパティが存在する場合、現在アニメーション化されている値がコピーされます。 (継承元 Freezable) |
GetHashCode() |
この DependencyObject のハッシュ コードを取得します。 (継承元 DependencyObject) |
GetLocalValueEnumerator() |
どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。 (継承元 DependencyObject) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GetValue(DependencyProperty) |
DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。 (継承元 DependencyObject) |
InvalidateProperty(DependencyProperty) |
指定した依存関係プロパティの有効値を再評価します。 (継承元 DependencyObject) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
OnChanged() |
現在の Freezable オブジェクトの変更時に呼び出されます。 (継承元 Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。 (継承元 Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
このメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) の DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。 (継承元 Freezable) |
ReadLocalValue(DependencyProperty) |
ローカルの依存関係プロパティの値を返します (存在する場合)。 (継承元 DependencyObject) |
ReadPreamble() |
Freezable が有効なスレッドからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の API の開始時に、このメソッドを呼び出す必要があります。 (継承元 Freezable) |
SetCurrentValue(DependencyProperty, Object) |
依存関係プロパティ値のソースを変更せずにその値を設定します。 (継承元 DependencyObject) |
SetValue(DependencyProperty, Object) |
依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。 (継承元 DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。 (継承元 DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。 (継承元 DependencyObject) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
VerifyAccess() |
呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。 (継承元 DispatcherObject) |
WritePostscript() |
Freezable の Changed イベントを発生させ、その OnChanged() メソッドを呼び出します。 Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。 (継承元 Freezable) |
WritePreamble() |
Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の API の開始時に、このメソッドを呼び出す必要があります。 (継承元 Freezable) |
イベント
Changed |
Freezable、またはこれに含まれているオブジェクトが変更されると発生します。 (継承元 Freezable) |
適用対象
こちらもご覧ください
.NET