Freezable Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar ett objekt som har ett ändringsbart tillstånd och ett skrivskyddat tillstånd (låst). Klasser som härleds från Freezable ger detaljerade ändringsmeddelanden, kan göras oföränderliga och kan klona sig själva.
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
- Arv
- Härledda
Kommentarer
Klassen Freezable innehåller särskilda funktioner som kan hjälpa dig att förbättra programmets prestanda när du använder objekt som är dyra att ändra eller kopiera. Exempel på Freezable objekt är följande:
Härleda från Freezable
En klass som härleds från Freezable får följande funktioner:
Särskilda tillstånd: ett skrivskyddat (fruset) tillstånd och ett skrivbart tillstånd.
Trådsäkerhet: ett fruset Freezable objekt kan delas mellan trådar.
Detaljerad ändringsmeddelande: Till skillnad från andra DependencyObject objekt ger ett Freezable objekt ändringsmeddelanden när värden för underegenskap ändras.
Enkel kloning: Klassen Freezable har redan implementerat flera metoder som producerar djupa kloner.
Information om hur du använder och skapar egna Freezable objekt finns i Översikt över friserbara objekt.
Konstruktorer
| Name | Description |
|---|---|
| Freezable() |
Initierar en ny instans av en Freezable härledd klass. |
Egenskaper
| Name | Description |
|---|---|
| CanFreeze |
Hämtar ett värde som anger om objektet kan göras ommodifierbart. |
| DependencyObjectType |
DependencyObjectType Hämtar som omsluter CLR-typen för den här instansen. (Ärvd från DependencyObject) |
| Dispatcher |
Hämtar det Dispatcher som DispatcherObject är associerat med. (Ärvd från DispatcherObject) |
| IsFrozen |
Hämtar ett värde som anger om objektet för närvarande kan ändras. |
| IsSealed |
Hämtar ett värde som anger om den här instansen för närvarande är förseglad (skrivskyddad). (Ärvd från DependencyObject) |
Metoder
| Name | Description |
|---|---|
| CheckAccess() |
Avgör om den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| ClearValue(DependencyProperty) |
Rensar det lokala värdet för en egenskap. Egenskapen som ska rensas anges av en DependencyProperty identifierare. (Ärvd från DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Rensar det lokala värdet för en skrivskyddad egenskap. Egenskapen som ska rensas anges av en DependencyPropertyKey. (Ärvd från DependencyObject) |
| Clone() |
Skapar en modifierbar klon av Freezableoch gör djupa kopior av objektets värden. När du kopierar objektets beroendeegenskaper kopierar den här metoden uttryck (som kanske inte längre matchar) men inte animeringar eller deras aktuella värden. |
| CloneCore(Freezable) |
Gör instansen till en klon (djupkopia) av de angivna Freezable med hjälp av grundläggande (icke-animerade) egenskapsvärden. |
| CloneCurrentValue() |
Skapar en modifierbar klon (djup kopia) av med hjälp av Freezable dess aktuella värden. |
| CloneCurrentValueCore(Freezable) |
Gör instansen till en modifierbar klon (djupkopia) av den angivna Freezable med hjälp av aktuella egenskapsvärden. |
| CoerceValue(DependencyProperty) |
Tvingar fram värdet för den angivna beroendeegenskapen. Detta uppnås genom att anropa alla CoerceValueCallback funktioner som anges i egenskapsmetadata för beroendeegenskapen eftersom den finns på anropet DependencyObject. (Ärvd från DependencyObject) |
| CreateInstance() |
Initierar en ny instans av Freezable klassen. |
| CreateInstanceCore() |
När den implementeras i en härledd klass skapar du en ny instans av den Freezable härledda klassen. |
| Equals(Object) |
Avgör om en angivet DependencyObject motsvarar den aktuella DependencyObject. (Ärvd från DependencyObject) |
| Freeze() |
Gör det aktuella objektet ommodifierbart och anger dess IsFrozen egenskap till |
| Freeze(Freezable, Boolean) |
Om parametern |
| FreezeCore(Boolean) |
Gör objektet Freezable ommodifierbart eller testar om det kan göras ommodifierbart. |
| GetAsFrozen() |
Skapar en frusen Freezablekopia av , med hjälp av grundläggande (icke-animerade) egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens. |
| GetAsFrozenCore(Freezable) |
Gör instansen till en frusen klon av den angivna Freezable med hjälp av grundläggande (icke-animerade) egenskapsvärden. |
| GetCurrentValueAsFrozen() |
Skapar en frusen Freezable kopia av med aktuella egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens. |
| GetCurrentValueAsFrozenCore(Freezable) |
Gör den aktuella instansen till en frusen klon av den angivna Freezable. Om objektet har animerade beroendeegenskaper kopieras deras aktuella animerade värden. |
| GetHashCode() |
Hämtar en hash-kod för den här DependencyObject. (Ärvd från DependencyObject) |
| GetLocalValueEnumerator() |
Skapar en specialiserad uppräknare för att avgöra vilka beroendeegenskaper som har lokalt angivna värden för den här DependencyObject. (Ärvd från DependencyObject) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetValue(DependencyProperty) |
Returnerar det aktuella effektiva värdet för en beroendeegenskap för den här instansen av en DependencyObject. (Ärvd från DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Utvärderar det effektiva värdet för den angivna beroendeegenskapen igen. (Ärvd från DependencyObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnChanged() |
Anropas när det aktuella Freezable objektet ändras. |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Den här medlemmen stöder infrastrukturen för Windows Presentation Foundation (WPF) och är inte avsedd att användas direkt från koden. |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Ser till att lämpliga kontextpekare upprättas för en DependencyObjectType datamedlem som just har angetts. |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Åsidosätter implementeringen DependencyObject av OnPropertyChanged(DependencyPropertyChangedEventArgs) för att även anropa alla Changed hanterare som svar på en ändrad beroendeegenskap av typen Freezable. |
| ReadLocalValue(DependencyProperty) |
Returnerar det lokala värdet för en beroendeegenskap, om den finns. (Ärvd från DependencyObject) |
| ReadPreamble() |
Säkerställer att åtkomsten Freezable görs från en giltig tråd. Arvtagare Freezable till måste anropa den här metoden i början av ett API som läser datamedlemmar som inte är beroendeegenskaper. |
| SetCurrentValue(DependencyProperty, Object) |
Anger värdet för en beroendeegenskap utan att ändra dess värdekälla. (Ärvd från DependencyObject) |
| SetValue(DependencyProperty, Object) |
Anger det lokala värdet för en beroendeegenskap som anges av dess beroendeegenskapsidentifierare. (Ärvd från DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Anger det lokala värdet för en skrivskyddad beroendeegenskap som anges av identifieraren DependencyPropertyKey för beroendeegenskapen. (Ärvd från DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Returnerar ett värde som anger om serialiseringsprocesser ska serialisera värdet för den angivna beroendeegenskapen. (Ärvd från DependencyObject) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| VerifyAccess() |
Framtvingar att den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| WritePostscript() |
Genererar Changed händelsen för Freezable och anropar dess OnChanged() metod. Klasser som härleds från Freezable bör anropa den här metoden i slutet av alla API:er som ändrar klassmedlemmar som inte lagras som beroendeegenskaper. |
| WritePreamble() |
Verifierar att Freezable inte är låst och att den nås från en giltig trådkontext. Freezable ärver bör anropa den här metoden i början av ett API som skriver till datamedlemmar som inte är beroendeegenskaper. |
Händelser
| Name | Description |
|---|---|
| Changed |
Inträffar när eller Freezable ett objekt som det innehåller ändras. |
Gäller för
Trådsäkerhet
Alla offentliga static medlemmar av den här typen är trådsäkra. Vilka som helst instansmedlemmar garanteras inte att vara trådsäkra.
När egenskapen IsFrozen är falsekan ett Freezable objekt endast nås från tråden som det skapades på. Försök att komma åt den från en annan tråd genererar en InvalidOperationException. Metoderna Invoke och BeginInvoke ger stöd för marskalkering till rätt tråd.
När deras IsFrozen egenskap är trueär Freezable objekten fritrådade. Mer information finns i Översikt över frysta objekt.