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í (zmrazený). Třídy odvozené od Freezable poskytnutí podrobného oznámení o změnách, mohou být neměnné a mohou naklonovat samy.
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é pomáhají zlepšit výkon aplikace při použití objektů, které jsou nákladné při úpravě nebo kopírování. Mezi příklady Freezable objektů patří:
Odvozování z zmrazení
Třída odvozená od Freezable získání následujících funkcí:
Zvláštní stavy: stav jen pro čtení (zmrazený) a zapisovatelný stav.
Zabezpečení vlákna: Ukotvený Freezable objekt lze sdílet napříč vlákny.
Podrobné oznámení o změnách: Na rozdíl od jiných DependencyObject objektů objekt poskytuje oznámení o změnách Freezable při změně hodnot dílčích vlastností.
Snadné klonování: Zamrznutelná třída již implementovala několik metod, které vytvářejí hluboké klony.
Informace o používání a vytváření vlastních Freezable objektů naleznete v tématu Přehled zamrznutelných objektů.
Konstruktory
| Name | Description |
|---|---|
| Freezable() |
Inicializuje novou instanci odvozené Freezable třídy. |
Vlastnosti
| Name | Description |
|---|---|
| CanFreeze |
Získá hodnotu, která označuje, zda objekt lze vytvořit nemodifovatelný. |
| DependencyObjectType |
DependencyObjectType Získá ten, který zabalí typ CLR této instance. (Zděděno od DependencyObject) |
| Dispatcher |
Dispatcher Získá toto DispatcherObject je přidružené. (Zděděno od DispatcherObject) |
| IsFrozen |
Získá hodnotu, která označuje, zda objekt je aktuálně upravitelný. |
| IsSealed |
Získá hodnotu, která označuje, zda je tato instance aktuálně zapečetěna (jen pro čtení). (Zděděno od DependencyObject) |
Metody
| Name | Description |
|---|---|
| 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á 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á má být vymazána, je určena parametrem DependencyPropertyKey. (Zděděno od DependencyObject) |
| Clone() |
Vytvoří upravitelný klon objektu Freezable, vytváření hlubokých kopií hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které se už nemusí překládat), ale ne animace nebo jejich aktuální hodnoty. |
| CloneCore(Freezable) |
Vytvoří instanci klonem (hloubkovou kopií) zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností. |
| CloneCurrentValue() |
Vytvoří upravitelný klon (hloubkovou Freezable kopii) pomocí 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 dosahuje vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastností pro vlastnost závislosti, protože existuje ve volání DependencyObject. (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 je poskytnutá DependencyObject hodnota ekvivalentní aktuálnímu DependencyObject. (Zděděno od DependencyObject) |
| Freeze() |
Nastaví aktuální objekt jako nemodifikovatelný a nastaví jeho IsFrozen vlastnost na |
| Freeze(Freezable, Boolean) |
|
| FreezeCore(Boolean) |
Freezable Znepřístupňuje objekt nebo testuje, zda je možné ho upravit. |
| GetAsFrozen() |
Vytvoří zablokovanou kopii Freezablevlastnosti , pomocí základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že je kopie zablokovaná, všechny ukotvené dílčí objekty se zkopírují odkazem. |
| GetAsFrozenCore(Freezable) |
Vytvoří instanci ukotveným klonem zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností. |
| GetCurrentValueAsFrozen() |
Vytvoří ukotvenou kopii s použitím aktuálních Freezable hodnot vlastností. Vzhledem k tomu, že je kopie zablokovaná, všechny ukotvené dílčí objekty se zkopírují odkazem. |
| GetCurrentValueAsFrozenCore(Freezable) |
Vytvoří aktuální instanci zmrazený klon zadaného Freezable. Pokud má objekt animované vlastnosti závislostí, jejich aktuální animované hodnoty se zkopírují. |
| GetHashCode() |
Získá hash kód pro tento DependencyObject. (Zděděno od DependencyObject) |
| GetLocalValueEnumerator() |
Vytvoří specializovaný enumerátor pro určení, které vlastnosti závislosti mají místně nastavené hodnoty na tomto DependencyObject. (Zděděno od DependencyObject) |
| GetType() |
Získá Type 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 Object. (Zděděno od Object) |
| OnChanged() |
Volá se při změně aktuálního Freezable objektu. |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF (Windows Presentation Foundation)) a není určená k použití přímo z kódu. |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Zajišťuje, aby byly pro datový člen, který byl právě nastaven, vytvořeny DependencyObjectType příslušné kontextové ukazatele. |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Přepíše implementaci DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs) také vyvolat všechny Changed obslužné rutiny v reakci na měnící se závislost vlastnost typu Freezable. |
| ReadLocalValue(DependencyProperty) |
Vrátí místní hodnotu vlastnosti závislosti, pokud existuje. (Zděděno od DependencyObject) |
| ReadPreamble() |
Zajišťuje, že se k němu Freezable přistupuje z platného vlákna. Dědiče Freezable této metody musí volat tuto metodu na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnostmi závislosti. |
| SetCurrentValue(DependencyProperty, Object) |
Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnot. (Zděděno od DependencyObject) |
| SetValue(DependencyProperty, Object) |
Nastaví místní hodnotu vlastnosti závislosti určenou jeho 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 identifikátorem DependencyPropertyKey vlastnosti závislosti. (Zděděno od DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Vrátí hodnotu, která určuje, zda procesy serializace 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 událost Freezable a vyvolá její OnChanged() metodu. Třídy odvozené z Freezable by měly volat tuto metodu na konci jakéhokoli rozhraní API, které upravuje členy třídy, které nejsou uloženy jako vlastnosti závislosti. |
| WritePreamble() |
Ověřuje, že Freezable není zablokovaný a že k němu přistupujete z platného kontextu podprocesu. Freezable dědiče by měly tuto metodu volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnostmi závislosti. |
Událost
| Name | Description |
|---|---|
| Changed |
Nastane, když Freezable je objekt, který obsahuje, změněn. |
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 žádného člena instance není zaručena bezpečnost pro přístup z více vláken.
Při vlastnosti IsFrozenfalselze k objektu Freezable přistupovat pouze z vlákna, na kterém byl vytvořen. Pokus o přístup z jiného vlákna vyvolá výjimku InvalidOperationException.
Invoke Metody BeginInvoke poskytují podporu pro zařazování do správného vlákna.
Pokud je IsFrozenjejich true vlastnost , Freezable objekty jsou bez vláken. Další informace naleznete v tématu Přehled zamrznutelných objektů .