Freezable Freezable Freezable Freezable Class

정의

수정 가능한 상태와 읽기 전용(고정) 상태를 가진 개체를 정의합니다.Defines an object that has a modifiable state and a read-only (frozen) state. Freezable에서 파생된 클래스는 자세한 변경 알림을 제공하며, 변경할 수 없도록 설정될 수 있고, 자신을 복제할 수 있습니다.Classes that derive from Freezable provide detailed change notification, can be made immutable, and can clone themselves.

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
상속
파생

설명

Freezable 클래스는 도움이 되는 특별 한 기능 수정 하거나 복사 하는 데 비용이 많이 드는 개체를 사용 하는 경우 애플리케이션 성능 향상을 제공 합니다.The Freezable class provides special features that can help improve application performance when using objects that are expensive to modify or copy. 예가 Freezable 개체는 다음과 같습니다.Examples of Freezable objects include the following:

Freezable에서 파생Deriving From Freezable

파생 된 클래스 Freezable 다음과 같은 기능이 있습니다.A class that derives from Freezable gains the following features:

  • 특수 상태: 읽기 전용 (고정된) 상태와 쓰기 가능한 상태입니다.Special states: a read-only (frozen) state and a writable state.

  • 스레드 보안: 고정 된 Freezable 개체는 스레드 간에 공유할 수 있습니다.Thread safety: a frozen Freezable object can be shared across threads.

  • 자세한 변경 알림: 달리 DependencyObject 개체는 Freezable 하위 속성 값을 변경 하는 경우 변경 알림을 제공 하는 개체입니다.Detailed change notification: Unlike other DependencyObject objects, a Freezable object provides change notifications when sub-property values change.

  • 쉬운 복제: Freezable 클래스가 이미 전체 복제를 만드는 여러 메서드를 구현 합니다.Easy cloning: the Freezable class has already implemented several methods that produce deep clones.

사용 및 사용자 고유의 만들기에 대 한 내용은 Freezable 개체를 참조 하세요 Freezable 개체 개요합니다.For information on using and creating your own Freezable objects, see Freezable Objects Overview.

생성자

Freezable() Freezable() Freezable() Freezable()

새 인스턴스를 초기화 한 Freezable 클래스를 파생 합니다.Initializes a new instance of a Freezable derived class.

속성

CanFreeze CanFreeze CanFreeze CanFreeze

개체를 수정 불가능으로 설정할 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the object can be made unmodifiable.

DependencyObjectType DependencyObjectType DependencyObjectType DependencyObjectType

이 인스턴스의 CLRCLR 형식을 래핑하는 DependencyObjectType을 가져옵니다.Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(Inherited from DependencyObject)
Dispatcher Dispatcher Dispatcher Dispatcher

가져옵니다 합니다 DispatcherDispatcherObject 연관 됩니다.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsFrozen IsFrozen IsFrozen IsFrozen

개체가 현재 수정 가능한지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the object is currently modifiable.

IsSealed IsSealed IsSealed IsSealed

이 인스턴스가 현재 봉인되어 있는지(읽기 전용인지) 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this instance is currently sealed (read-only).

(Inherited from DependencyObject)

메서드

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

호출 스레드에서이에 대 한 액세스에 있는지 여부를 결정 DispatcherObject합니다.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

속성의 로컬 값을 지웁니다.Clears the local value of a property. 지울 속성이 DependencyProperty 식별자에서 지정됩니다.The property to be cleared is specified by a DependencyProperty identifier.

(Inherited from DependencyObject)
ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey) ClearValue(DependencyPropertyKey)

읽기 전용 속성의 로컬 값을 지웁니다.Clears the local value of a read-only property. 선언할 속성이 DependencyPropertyKey에서 지정됩니다.The property to be cleared is specified by a DependencyPropertyKey.

(Inherited from DependencyObject)
Clone() Clone() Clone() Clone()

개체 값의 전체 복사본을 만들어 Freezable의 수정 가능한 복제본을 만듭니다.Creates a modifiable clone of the Freezable, making deep copies of the object's values. 개체의 종속성 속성을 복사하는 경우 이 메서드는 더 이상 확인되지 않을 수도 있는 식을 복사하지만 애니메이션 또는 해당 현재 값은 복사하지 않습니다.When copying the object's dependency properties, this method copies expressions (which might no longer resolve) but not animations or their current values.

CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable) CloneCore(Freezable)

기본(애니메이션이 적용되지 않은) 속성 값을 사용하여 인스턴스를 지정된 Freezable의 복제본(전체 복사본)으로 만듭니다.Makes the instance a clone (deep copy) of the specified Freezable using base (non-animated) property values.

CloneCurrentValue() CloneCurrentValue() CloneCurrentValue() CloneCurrentValue()

수정 가능한 복제본 (전체 복사본)을 만듭니다는 Freezable 현재 값을 사용 합니다.Creates a modifiable clone (deep copy) of the Freezable using its current values.

CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable) CloneCurrentValueCore(Freezable)

현재 속성 값을 사용하여 이 인스턴스를 지정된 Freezable의 수정 가능한 클론(전체 복사본)으로 만듭니다.Makes the instance a modifiable clone (deep copy) of the specified Freezable using current property values.

CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty) CoerceValue(DependencyProperty)

지정된 종속성 속성의 값을 강제 변환합니다.Coerces the value of the specified dependency property. 호출하는 DependencyObject에 있으므로 이 작업은 종속성 속성의 속성 메타데이터에 지정된 CoerceValueCallback 함수를 호출하여 수행합니다.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

(Inherited from DependencyObject)
CreateInstance() CreateInstance() CreateInstance() CreateInstance()

Freezable 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Freezable class.

CreateInstanceCore() CreateInstanceCore() CreateInstanceCore() CreateInstanceCore()

파생된 클래스에서 구현 하는 경우의 새 인스턴스를 만듭니다는 Freezable 클래스를 파생 합니다.When implemented in a derived class, creates a new instance of the Freezable derived class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

제공된 DependencyObject가 현재 DependencyObject에 해당하는지 여부를 확인합니다.Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(Inherited from DependencyObject)
Freeze() Freeze() Freeze() Freeze()

현재 개체를 수정할 수 없게 설정하고 해당 IsFrozen 속성을 true로 설정합니다.Makes the current object unmodifiable and sets its IsFrozen property to true.

Freeze(Freezable, Boolean) Freeze(Freezable, Boolean) Freeze(Freezable, Boolean) Freeze(Freezable, Boolean)

경우는 isChecking 매개 변수는 true,이 메서드를 나타냅니다 여부를 지정 된 Freezable 수정할 수 있습니다.If the isChecking parameter is true, this method indicates whether the specified Freezable can be made unmodifiable. 경우는 isChecking 매개 변수가 false,이 메서드는 지정 된 확인 하려고 시도 Freezable 수정할 수 없는 작업에 성공 했는지 여부를 나타냅니다.If the isChecking parameter is false, this method attempts to make the specified Freezable unmodifiable and indicates whether the operation succeeded.

FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean) FreezeCore(Boolean)

Freezable 없게 만들거나 수정할 수 없게 만들 수 있는지 여부를 테스트 합니다.Makes the Freezable object unmodifiable or tests whether it can be made unmodifiable.

GetAsFrozen() GetAsFrozen() GetAsFrozen() GetAsFrozen()

고정 된 복사본을 만들고는 Freezable, 기본 (애니메이션이 적용 되지 않은) 속성 값을 사용 하 여 합니다.Creates a frozen copy of the Freezable, using base (non-animated) property values. 복사본이 고정 되어 있으므로 모든 고정 된 하위 개체는 참조로 복사 됩니다.Because the copy is frozen, any frozen sub-objects are copied by reference.

GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable) GetAsFrozenCore(Freezable)

기본(애니메이션이 적용되지 않은) 속성 값을 사용하여 인스턴스를 지정된 Freezable의 고정된 복제본으로 만듭니다.Makes the instance a frozen clone of the specified Freezable using base (non-animated) property values.

GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen() GetCurrentValueAsFrozen()

고정 된 복사본을 만듭니다는 Freezable 현재 속성 값을 사용 합니다.Creates a frozen copy of the Freezable using current property values. 복사본이 고정 되어 있으므로 모든 고정 된 하위 개체는 참조로 복사 됩니다.Because the copy is frozen, any frozen sub-objects are copied by reference.

GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable) GetCurrentValueAsFrozenCore(Freezable)

현재 인스턴스를 지정된 Freezable의 고정 클론으로 만듭니다.Makes the current instance a frozen clone of the specified Freezable. 개체에 애니메이션 효과를 준 종속성 속성이 있는 경우 애니메이션 효과를 준 현재 값이 복사됩니다.If the object has animated dependency properties, their current animated values are copied.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

DependencyObject의 해시 코드를 가져옵니다.Gets a hash code for this DependencyObject.

(Inherited from DependencyObject)
GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator() GetLocalValueEnumerator()

DependencyObject에 대해 로컬로 값을 설정한 종속성 속성을 확인하기 위한 특수 열거자를 만듭니다.Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(Inherited from DependencyObject)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

DependencyObject의 인스턴스에서 종속성 속성의 현재 유효 값을 반환합니다.Returns the current effective value of a dependency property on this instance of a DependencyObject.

(Inherited from DependencyObject)
InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty) InvalidateProperty(DependencyProperty)

지정된 종속성 속성의 유효 값을 다시 계산합니다.Re-evaluates the effective value for the specified dependency property

(Inherited from DependencyObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
OnChanged() OnChanged() OnChanged() OnChanged()

현재 Freezable 개체가 수정될 때 호출됩니다.Called when the current Freezable object is modified.

OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject) OnFreezablePropertyChanged(DependencyObject, DependencyObject)

에 대 한 적절 한 컨텍스트 포인터를 설정 하는 DependencyObjectType 방금 설정한 데이터 멤버입니다.Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

이 멤버는 WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.This member supports the WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs) OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 구현을 재정의하여 Freezable 형식의 변화하는 종속성 속성에 대한 응답으로 Changed 처리기도 호출합니다.Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

종속성 속성의 로컬 값을 반환합니다(있는 경우).Returns the local value of a dependency property, if it exists.

(Inherited from DependencyObject)
ReadPreamble() ReadPreamble() ReadPreamble() ReadPreamble()

되도록는 Freezable 유효한 스레드에서 액세스 하 고 있습니다.Ensures that the Freezable is being accessed from a valid thread. 상속자 Freezable 의 시작 부분에서이 메서드를 호출 해야 APIAPI 는 종속성 속성이 아닌 데이터 멤버를 읽는 합니다.Inheritors of Freezable must call this method at the beginning of any APIAPI that reads data members that are not dependency properties.

SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object) SetCurrentValue(DependencyProperty, Object)

해당 값 소스를 변경하지 않고 종속성 속성의 값을 설정합니다.Sets the value of a dependency property without changing its value source.

(Inherited from DependencyObject)
SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object) SetValue(DependencyProperty, Object)

지정된 종속성 속성 식별자를 가진 종속성 속성의 로컬 값을 설정합니다.Sets the local value of a dependency property, specified by its dependency property identifier.

(Inherited from DependencyObject)
SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object) SetValue(DependencyPropertyKey, Object)

종속성 속성의 DependencyPropertyKey 식별자에 의해 지정된 읽기 전용 종속성 속성의 로컬 값을 설정합니다.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(Inherited from DependencyObject)
ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty) ShouldSerializeProperty(DependencyProperty)

serialization 프로세스에서 지정된 종속성 속성의 값을 직렬화해야 하는지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(Inherited from DependencyObject)
ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

호출 스레드가이에 대 한 액세스를 적용 DispatcherObject합니다.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
WritePostscript() WritePostscript() WritePostscript() WritePostscript()

Freezable에 대한 Changed 이벤트를 발생시키고 해당 OnChanged() 메서드를 호출합니다.Raises the Changed event for the Freezable and invokes its OnChanged() method. Freezable에서 파생된 클래스는 종속성 속성으로 저장되지 않은 클래스 멤버를 수정하는 모든 API의 끝에서 이 메서드를 호출해야 합니다.Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

WritePreamble() WritePreamble() WritePreamble() WritePreamble()

확인는 Freezable 고정 되어 있지 않고 유효한 스레드 컨텍스트에서 액세스 하는 및입니다.Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable 상속자의 시작 부분에서이 메서드를 호출 해야 APIAPI 는 종속성 속성이 아닌 데이터 멤버에 쓰는 합니다.Freezable inheritors should call this method at the beginning of any APIAPI that writes to data members that are not dependency properties.

이벤트

Changed Changed Changed Changed

발생 경우를 Freezable 또는 포함 된 개체는 수정 합니다.Occurs when the Freezable or an object it contains is modified.

적용 대상

스레드 보안

모든 공용 static 이 형식의 멤버는 스레드로부터 안전 합니다.Any public static members of this type are thread safe. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.Any instance members are not guaranteed to be thread safe.

경우는 IsFrozen 속성은 false, Freezable 개체는 생성 된 스레드에서만에서 액세스할 수 있습니다.When the IsFrozen property is false, a Freezable object can be accessed only from the thread on which it was created. 다른 스레드에서 throw에서 액세스를 시도 InvalidOperationException합니다.Attempting to access it from another thread throws an InvalidOperationException. 합니다 InvokeBeginInvoke 메서드 올바른 스레드로 마샬링에 대 한 지원을 제공 합니다.The Invoke and BeginInvoke methods provide support for marshaling to the correct thread.

경우 해당 IsFrozen 속성은 true, Freezable 자유 스레드 개체는 합니다.When their IsFrozen property is true, Freezable objects are free-threaded. 자세한 내용은 Freezable 개체 개요를 참조하세요.For more information, see Freezable Objects Overview.