Freezable Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje objekt, který má upravitelný stav a stav jen pro čtení (zablokovaný). Třídy odvozené z Freezable poskytují podrobné oznámení o změnách, mohou být neměnné a mohou se klonovat.
public ref class Freezable abstract : System::Windows::DependencyObject
public abstract class Freezable : System.Windows.DependencyObject
type Freezable = class
inherit DependencyObject
Public MustInherit Class Freezable
Inherits DependencyObject
- Dědičnost
- Odvozené
Poznámky
Třída Freezable poskytuje speciální funkce, které mohou pomoci zlepšit výkon aplikace při použití objektů, které jsou nákladné na úpravy nebo kopírování. Mezi příklady Freezable objektů patří:
Odvození z zamrznutí
Třída, která je odvozena z Freezable , získá následující funkce:
Zvláštní stavy: stav jen pro čtení (zablokovaný) a zapisovatelný stav.
Zabezpečení vláken: Ukotvený Freezable objekt může být sdílen mezi vlákny.
Podrobné oznámení o změnách: Na rozdíl od jiných DependencyObject objektů Freezable poskytuje objekt oznámení o změnách při změně hodnot dílčích vlastností.
Snadné klonování: Třída Freezeable již implementovala několik metod, které vytvářejí hluboké klony.
Informace o používání a vytváření vlastních Freezable objektů najdete v tématu Přehled zamrznutelných objektů.
Konstruktory
Freezable() |
Inicializuje novou instanci odvozené Freezable třídy. |
Vlastnosti
CanFreeze |
Získá hodnotu, která označuje, zda objekt lze změnit. |
DependencyObjectType |
Získá, DependencyObjectType který zabalí typ CLR této instance. (Zděděno od DependencyObject) |
Dispatcher |
Získá to DispatcherDispatcherObject je přidružena k. (Zděděno od DispatcherObject) |
IsFrozen |
Získá hodnotu, která označuje, zda je objekt aktuálně upravitelný. |
IsSealed |
Získá hodnotu, která označuje, zda je tato instance právě zapečetěna (jen pro čtení). (Zděděno od DependencyObject) |
Metody
CheckAccess() |
Určuje, zda volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
ClearValue(DependencyProperty) |
Vymaže místní hodnotu vlastnosti. Vlastnost, která má být vymazána, 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 Freezablea vytvoří hluboké kopie hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které již nemusí být vyřešeny), ale ne animace nebo jejich aktuální hodnoty. |
CloneCore(Freezable) |
Vytvoří instanci klon (hloubkovou kopii) zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností. |
CloneCurrentValue() |
Vytvoří upravitelný klon (hloubkovou kopii) objektu Freezable pomocí jeho aktuálních hodnot. |
CloneCurrentValueCore(Freezable) |
Vytvoří instanci upravitelný klon (hloubkovou kopii) zadaného Freezable pomocí aktuálních hodnot vlastností. |
CoerceValue(DependencyProperty) |
Převede hodnotu zadané vlastnosti závislosti. Toho se dosáhne vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastnosti závislosti, protože existuje ve volajícím DependencyObjectobjektu . (Zděděno od DependencyObject) |
CreateInstance() |
Inicializuje novou instanci Freezable třídy . |
CreateInstanceCore() |
Při implementaci v odvozené třídě vytvoří novou instanci odvozené Freezable třídy. |
Equals(Object) |
Určuje, zda zadaný DependencyObject je ekvivalentní k aktuálnímu DependencyObject. (Zděděno od DependencyObject) |
Freeze() |
Nastaví aktuální objekt jako neupravitelný a nastaví jeho IsFrozen vlastnost na |
Freeze(Freezable, Boolean) |
|
FreezeCore(Boolean) |
Nastaví objekt jako Freezable neupravitelný nebo testuje, jestli ho nelze změnit. |
GetAsFrozen() |
Vytvoří zamrzlou kopii objektu Freezables použitím základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem. |
GetAsFrozenCore(Freezable) |
Vytvoří instanci zamrznutý klon zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností. |
GetCurrentValueAsFrozen() |
Vytvoří zamrzlou kopii objektu Freezable s použitím aktuálních hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem. |
GetCurrentValueAsFrozenCore(Freezable) |
Vytvoří aktuální instanci zablokovaného klonu zadaného Freezableobjektu . Pokud má objekt animované vlastnosti závislostí, zkopírují se jeho aktuální animované hodnoty. |
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() |
Type Získá z aktuální instance. (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ána při změně aktuálního Freezable objektu. |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Zajišťuje, že jsou vytvořeny vhodné ukazatele kontextu pro DependencyObjectType datový člen, který byl právě nastaven. |
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. |
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. |
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ědíci Freezable musí tuto metodu volat na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnosti závislostí. |
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() |
Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
WritePostscript() |
Changed Vyvolá událost pro Freezable a vyvolá jeho OnChanged() metodu. Třídy odvozené z Freezable by měly tuto metodu volat na konci jakéhokoli rozhraní API, které upravuje členy třídy, které nejsou uloženy jako vlastnosti závislosti. |
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 tuto metodu měli volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnosti závislostí. |
Událost
Changed |
Vyvolá se při změně objektu Freezable nebo objektu, který obsahuje. |
Platí pro
Bezpečný přístup z více vláken
Všechny veřejné static
členy tohoto typu jsou bezpečné pro přístup z více vláken. U členů instancí není zaručena bezpečnost pro přístup z více vláken.
IsFrozen Pokud je false
vlastnost , Freezable objekt je přístupný pouze z vlákna, ve kterém byl vytvořen. Pokus o přístup k němu z jiného vlákna vyvolá .InvalidOperationException Metody Invoke a BeginInvoke poskytují podporu pro zařazování do správného vlákna.
Pokud je true
jejich IsFrozen vlastnost , Freezable objekty jsou s volnými vlákny. Další informace najdete v tématu Přehled zamrznutelných objektů.