Bagikan melalui


BitmapCache Kelas

Definisi

Membuat dan menyimpan representasi bitmap dari 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
Warisan

Contoh

XAML berikut menunjukkan cara menyimpan Canvas elemen. Untuk contoh kode lengkap, lihat Cara: Meningkatkan Performa Penyajian dengan Penembolokan Elemen.

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

Keterangan

BitmapCache Gunakan kelas untuk meningkatkan performa penyajian yang kompleksUIElement. Buat BitmapCache dan tetapkan ke CacheMode properti dari untuk UIElement menyimpan elemen dan subtreenya sebagai bitmap dalam memori video. Ini berguna ketika Anda perlu menganimasikan, menerjemahkan, atau menskalakan UIElement secepat mungkin. Pendekatan ini memungkinkan tradeoff antara performa dan kualitas visual saat konten di-cache.

BitmapCacheBrush Gunakan kelas untuk menggunakan kembali elemen cache secara efisien.

Atur RenderAtScale properti untuk menskalakan singgahan bitmap. Ini berguna jika elemen akan diperbesar, dan Anda ingin elemen dirender lebih jelas daripada jika cache hanya dihasilkan pada resolusi asli elemen.

SnapsToDevicePixels Atur properti saat cache menampilkan konten yang memerlukan perataan piksel untuk dirender dengan benar, seperti teks ClearType. Properti ini diabaikan oleh BitmapCacheBrush kelas dan Viewport2DVisual3D .

Penembolokan kontrol tidak memengaruhi perilaku mouse-over, sehingga pengujian hit mouse-over beroperasi seolah-olah bitmap adalah kontrol langsung.

Regenerasi cache hanya terjadi ketika struktur UIElement atau subtreenya berubah, atau ketika CacheMode pengaturan berubah. RenderAtScale Mengatur properti atau EnableClearType menyebabkan regenerasi cache. Perubahan pada pohon visual induk dari cache UIElement, seperti transformasi, skala, opacities, dan efek, tidak memengaruhi cache.

Cache berfungsi ketika akselerasi perangkat keras tidak tersedia. Dalam hal ini, bitmap dirender dalam perangkat lunak, dan dimensi bitmap maksimum adalah 2048 x 2048.

Catatan

RenderOptions dan TextOptions jangan menyebar melalui elemen yang di-cache. Anda mungkin harus mengatur opsi ini lagi dalam elemen anak di bawah cache.

Konstruktor

BitmapCache()

Menginisialisasi instans baru kelas BitmapCache.

BitmapCache(Double)

Menginisialisasi instans BitmapCache baru kelas dengan skala yang ditentukan.

Bidang

EnableClearTypeProperty

EnableClearType Mengidentifikasi properti dependensi.

RenderAtScaleProperty

RenderAtScale Mengidentifikasi properti dependensi.

SnapsToDevicePixelsProperty

SnapsToDevicePixels Mengidentifikasi properti dependensi.

Properti

CanFreeze

Mendapatkan nilai yang menunjukkan apakah objek dapat dibuat tidak dapat dimodifikasi.

(Diperoleh dari Freezable)
DependencyObjectType

Mendapatkan yang membungkus jenis CLR dari instans DependencyObjectType ini.

(Diperoleh dari DependencyObject)
Dispatcher

Dispatcher Mendapatkan ini DispatcherObject dikaitkan dengan.

(Diperoleh dari DispatcherObject)
EnableClearType

Mendapatkan atau menetapkan nilai yang menunjukkan apakah bitmap dirender dengan ClearType diaktifkan.

HasAnimatedProperties

Mendapatkan nilai yang menunjukkan apakah satu atau beberapa AnimationClock objek dikaitkan dengan salah satu properti dependensi objek ini.

(Diperoleh dari Animatable)
IsFrozen

Mendapatkan nilai yang menunjukkan apakah objek saat ini dapat dimodifikasi.

(Diperoleh dari Freezable)
IsSealed

Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja).

(Diperoleh dari DependencyObject)
RenderAtScale

Mendapatkan atau menetapkan nilai yang menunjukkan skala yang diterapkan ke bitmap.

SnapsToDevicePixels

Mendapatkan atau menetapkan nilai yang menunjukkan apakah bitmap dirender dengan snapping piksel.

Metode

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan.

(Diperoleh dari Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

AnimationClock Menerapkan ke yang ditentukanDependencyProperty. Jika properti sudah dianimasikan, yang ditentukan HandoffBehavior akan digunakan.

(Diperoleh dari Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, SnapshotAndReplace perilaku handoff digunakan.

(Diperoleh dari Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Menerapkan animasi ke yang ditentukan DependencyProperty. Animasi dimulai ketika bingkai berikutnya dirender. Jika properti yang ditentukan sudah dianimasikan, properti yang ditentukan HandoffBehavior akan digunakan.

(Diperoleh dari Animatable)
CheckAccess()

Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
ClearValue(DependencyProperty)

Menghapus nilai lokal properti. Properti yang akan dibersihkan ditentukan oleh DependencyProperty pengidentifikasi.

(Diperoleh dari DependencyObject)
ClearValue(DependencyPropertyKey)

Menghapus nilai lokal properti baca-saja. Properti yang akan dibersihkan ditentukan oleh DependencyPropertyKey.

(Diperoleh dari DependencyObject)
Clone()

Membuat klon yang dapat dimodifikasi dari BitmapCache, membuat salinan mendalam dari nilai objek. Saat menyalin properti dependensi objek, metode ini menyalin ekspresi (yang mungkin tidak lagi diselesaikan) tetapi bukan animasi atau nilainya saat ini.

CloneCore(Freezable)

Menjadikan instans sebagai kloning (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti dasar (non-animasi).

(Diperoleh dari Freezable)
CloneCurrentValue()

Membuat kloning yang dapat dimodifikasi (salinan mendalam) dari BitmapCache menggunakan nilainya saat ini.

CloneCurrentValueCore(Freezable)

Menjadikan instans sebagai klon yang dapat dimodifikasi (salinan mendalam) dari yang ditentukan Freezable menggunakan nilai properti saat ini.

(Diperoleh dari Freezable)
CoerceValue(DependencyProperty)

Memaksakan nilai properti dependensi yang ditentukan. Ini dicapai dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject.

(Diperoleh dari DependencyObject)
CreateInstance()

Menginisialisasi instans baru kelas Freezable.

(Diperoleh dari Freezable)
CreateInstanceCore()

Saat diimplementasikan di kelas turunan, membuat instans baru dari kelas turunan Freezable .

(Diperoleh dari Freezable)
Equals(Object)

Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject.

(Diperoleh dari DependencyObject)
Freeze()

Membuat objek saat ini tidak dapat dimodifikasi dan mengatur propertinya IsFrozen ke true.

(Diperoleh dari Freezable)
FreezeCore(Boolean)

Membuat objek ini Animatable tidak dapat dimodifikasi atau menentukan apakah objek dapat dibuat tidak dapat dimodifikasi.

(Diperoleh dari Animatable)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai non-animasi dari yang ditentukan DependencyProperty.

(Diperoleh dari Animatable)
GetAsFrozen()

Membuat salinan beku dari Freezable, menggunakan nilai properti dasar (non-animasi). Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi.

(Diperoleh dari Freezable)
GetAsFrozenCore(Freezable)

Menjadikan instans sebagai klon beku dari yang ditentukan Freezable menggunakan nilai properti dasar (non-animasi).

(Diperoleh dari Freezable)
GetCurrentValueAsFrozen()

Membuat salinan beku dari Freezable menggunakan nilai properti saat ini. Karena salinan dibekukan, sub-objek beku apa pun disalin oleh referensi.

(Diperoleh dari Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Menjadikan instans saat ini sebagai klon beku dari yang ditentukan Freezable. Jika objek memiliki properti dependensi animasi, nilai animasinya saat ini akan disalin.

(Diperoleh dari Freezable)
GetHashCode()

Mendapatkan kode hash untuk ini DependencyObject.

(Diperoleh dari DependencyObject)
GetLocalValueEnumerator()

Membuat enumerator khusus untuk menentukan properti dependensi mana yang memiliki nilai yang ditetapkan secara lokal pada ini DependencyObject.

(Diperoleh dari DependencyObject)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject.

(Diperoleh dari DependencyObject)
InvalidateProperty(DependencyProperty)

Mengevaluasi kembali nilai efektif untuk properti dependensi yang ditentukan.

(Diperoleh dari DependencyObject)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnChanged()

Dipanggil ketika objek saat ini Freezable dimodifikasi.

(Diperoleh dari Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Memastikan bahwa penunjuk konteks yang sesuai ditetapkan untuk DependencyObjectType anggota data yang baru saja ditetapkan.

(Diperoleh dari Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Anggota ini mendukung infrastruktur Windows Presentation Foundation (WPF) dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

(Diperoleh dari Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Mengambil alih DependencyObject implementasi OnPropertyChanged(DependencyPropertyChangedEventArgs) untuk juga memanggil penangan apa pun Changed sebagai respons terhadap properti dependensi yang berubah dari jenis Freezable.

(Diperoleh dari Freezable)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika ada.

(Diperoleh dari DependencyObject)
ReadPreamble()

Memastikan bahwa Freezable sedang diakses dari utas yang valid. Pewaris Freezable harus memanggil metode ini di awal API apa pun yang membaca anggota data yang bukan properti dependensi.

(Diperoleh dari Freezable)
SetCurrentValue(DependencyProperty, Object)

Mengatur nilai properti dependensi tanpa mengubah sumber nilainya.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya.

(Diperoleh dari DependencyObject)
SetValue(DependencyPropertyKey, Object)

Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi.

(Diperoleh dari DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus menserialisasikan nilai untuk properti dependensi yang disediakan.

(Diperoleh dari DependencyObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
VerifyAccess()

Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
WritePostscript()

Menaikkan Changed peristiwa untuk Freezable dan memanggil metodenya OnChanged() . Kelas yang berasal dari Freezable harus memanggil metode ini di akhir API apa pun yang memodifikasi anggota kelas yang tidak disimpan sebagai properti dependensi.

(Diperoleh dari Freezable)
WritePreamble()

Memverifikasi bahwa Freezable tidak dibekukan dan sedang diakses dari konteks utas yang valid. Freezable pewaris harus memanggil metode ini di awal API apa pun yang menulis ke anggota data yang bukan properti dependensi.

(Diperoleh dari Freezable)

Acara

Changed

Terjadi ketika Freezable atau objek yang dikandungnya dimodifikasi.

(Diperoleh dari Freezable)

Berlaku untuk

Lihat juga