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 ,才會發生快取重新產生。 RenderAtScale設定 或 EnableClearType 屬性會導致快取重新產生。 對快 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 |
取得值,這個值表示是否有一個或多個 AnimationClock 物件與這個物件的任何一個相依性屬性相關聯。 (繼承來源 Animatable) |
IsFrozen |
取得值,該值表示物件目前是否可修改。 (繼承來源 Freezable) |
IsSealed |
取得值,這個值表示此執行個體目前是否已密封 (唯讀)。 (繼承來源 DependencyObject) |
RenderAtScale |
取得或設定值,這個值表示套用至點陣圖的比例。 |
SnapsToDevicePixels |
取得或設定值,這個值表示點陣圖是否為使用貼齊像素功能所呈現。 |
方法
事件
Changed |
發生於 Freezable 或所含的物件遭到修改時。 (繼承來源 Freezable) |