FreezableCollection<T> 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
DependencyObject, Freezable 또는 Animatable 개체의 컬렉션을 나타냅니다. FreezableCollection<T> 자체는 Animatable 형식입니다.
generic <typename T>
where T : DependencyObjectpublic ref class FreezableCollection : System::Windows::Media::Animation::Animatable, System::Collections::Generic::ICollection<T>, System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IList<T>, System::Collections::IList, System::Collections::Specialized::INotifyCollectionChanged, System::ComponentModel::INotifyPropertyChanged
public class FreezableCollection<T> : System.Windows.Media.Animation.Animatable, System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IList<T>, System.Collections.IList, System.Collections.Specialized.INotifyCollectionChanged, System.ComponentModel.INotifyPropertyChanged where T : DependencyObject
type FreezableCollection<'T (requires 'T :> DependencyObject)> = class
inherit Animatable
interface IList
interface ICollection
interface IList<'T (requires 'T :> DependencyObject)>
interface ICollection<'T (requires 'T :> DependencyObject)>
interface seq<'T (requires 'T :> DependencyObject)>
interface IEnumerable
interface INotifyCollectionChanged
interface INotifyPropertyChanged
type FreezableCollection<'T (requires 'T :> DependencyObject)> = class
inherit Animatable
interface IList
interface ICollection
interface IEnumerable
interface IList<'T (requires 'T :> DependencyObject)>
interface ICollection<'T (requires 'T :> DependencyObject)>
interface seq<'T (requires 'T :> DependencyObject)>
interface INotifyCollectionChanged
interface INotifyPropertyChanged
type FreezableCollection<'T (requires 'T :> DependencyObject)> = class
inherit Animatable
interface ICollection<'T (requires 'T :> DependencyObject)>
interface seq<'T (requires 'T :> DependencyObject)>
interface IEnumerable
interface IList<'T (requires 'T :> DependencyObject)>
interface ICollection
interface IList
interface INotifyCollectionChanged
interface INotifyPropertyChanged
Public Class FreezableCollection(Of T)
Inherits Animatable
Implements ICollection(Of T), IEnumerable(Of T), IList, IList(Of T), INotifyCollectionChanged, INotifyPropertyChanged
형식 매개 변수
- T
컬렉션의 형식입니다. 이 형식은 DependencyObject 또는 파생 클래스여야 합니다.
- 상속
- 파생
- 구현
설명
이 클래스는 완벽 하 게 데이터 바인딩을 지원, 알림, 속성 무효화 및 해당 내용에 대 한 애니메이션을 변경 하는 사용자 지정 컬렉션 유형을 만들 수 있도록 제공 됩니다.
FreezableCollection XAML 사용
FreezableCollection<T> 는 제한된 XAML 구문을 지원합니다.
루트 개체 요소를 지정할 수 있습니다 이론적으로 제한 되지 않은 FreezableCollection<T> 도 지정 해야 하는 개체 요소를를 X:typearguments 지시문 제약 조건이 선언 합니다. 그러나이 아니므로 일반적인 시나리오에서이 작업을 수행 하는 FreezableCollection<T> 루트 요소 여야 합니다. WPF의 XAML 프로세서 구현은 설정되는 요소가 루트 요소일 때 x:TypeArguments 지시문 만 지원할 수 있고 XAML에서 제네릭 형식을 인스턴스화하려는 경우 열려 있는 제약 조건 제네릭에서 를 사용해야 하기 때문에 이러한 제한이 있습니다. 느슨한 XAML처럼 를 루트 요소로 원하지 FreezableCollection<T> 않을 수 있습니다.
파생 하는 경우 FreezableCollection<T> 파생된 컬렉션의 형식 제약 조건을 적용 하 고, 파생된 컬렉션의 다양 한 용도로 사용을 지원할 수 있습니다. 파생에서 제약 조건을 전달할 필요 하지 않으므로 이것이 가능 합니다.
이러한 파생 컬렉션에 대한 일반적인 XAML 사용은 암시적 컬렉션 구문을 통해 사용됩니다. 특정 인터페이스를 지 원하는 컬렉션 개체 요소로 컬렉션 자체를 지정할 필요가 없습니다. XAML의 컬렉션 구문에 대한 자세한 내용은 XAML 구문 자세히를 참조하세요. 예를 들어를 개체 사용 하 여를 속성 여기서는 속성 형식 이었습니다 FreezableCollection<T> 제한 DependencyObject 구문을 지원할 수 있습니다:
<object> <object.property> oneOrMoreDependencyObjectElements </object.property> </object>
매개 변수가 없는 생성자를 숨기지 않는 한 파생된 컬렉션은 개체 요소 구문을 지원할 수도 있습니다(여기서 개체 요소는 위에 표시된 암시적 사용법과 달리 명시적임). 이 루트 요소가 될 필요가 없습니다. 또는 루트 요소로 컬렉션을 사용 하 여이 일반적 이지만 지정 하지 않고도 루트 요소로 파생된 컬렉션을 사용할 수도 있습니다.
위의 시나리오 중 하나에서 컬렉션의 모든 자식 요소에 지정 된 대로 또는 구현된 제약 조건의 형식 이어야 합니다.
생성자
FreezableCollection<T>() |
비어 있는 상태에서 기본 초기 용량을 가지는 FreezableCollection<T>의 새 인스턴스를 초기화합니다. |
FreezableCollection<T>(IEnumerable<T>) |
지정된 컬렉션과 같은 요소를 포함하는 FreezableCollection<T> 클래스의 새 인스턴스를 초기화합니다. |
FreezableCollection<T>(Int32) |
비어 있는 상태에서 지정한 초기 용량을 가지는 FreezableCollection<T>의 새 인스턴스를 초기화합니다. |
속성
CanFreeze |
개체를 수정 불가능으로 설정할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Freezable) |
Count |
이 FreezableCollection<T>에 들어 있는 요소 수를 가져옵니다. |
DependencyObjectType |
DependencyObjectType 이 instance CLR 형식을 래핑하는 을 가져옵니다. (다음에서 상속됨 DependencyObject) |
Dispatcher |
이 Dispatcher와 연결된 DispatcherObject를 가져옵니다. (다음에서 상속됨 DispatcherObject) |
HasAnimatedProperties |
하나 이상의 AnimationClock 개체가 이 개체의 종속성 속성과 연결되어 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Animatable) |
IsFrozen |
개체가 현재 수정 가능한지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Freezable) |
IsSealed |
이 인스턴스가 현재 봉인되어 있는지(읽기 전용인지) 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 DependencyObject) |
Item[Int32] |
지정한 인덱스에 있는 요소를 가져오거나 설정합니다. |
메서드
Add(T) |
지정된 개체를 FreezableCollection<T>의 끝에 추가합니다. |
ApplyAnimationClock(DependencyProperty, AnimationClock) |
지정된 DependencyProperty에 AnimationClock을 적용합니다. 속성에 이미 애니메이션 효과가 적용되어 있으면 SnapshotAndReplace 전달 동작이 사용됩니다. (다음에서 상속됨 Animatable) |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
지정된 DependencyProperty에 AnimationClock을 적용합니다. 속성에 이미 애니메이션이 적용되어 있으면 지정된 HandoffBehavior가 사용됩니다. (다음에서 상속됨 Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline) |
지정된 DependencyProperty에 애니메이션을 적용합니다. 애니메이션은 다음 프레임을 렌더링할 때 시작됩니다. 지정된 속성에 이미 애니메이션 효과가 적용되어 있으면 SnapshotAndReplace 전달 동작이 사용됩니다. (다음에서 상속됨 Animatable) |
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
지정된 DependencyProperty에 애니메이션을 적용합니다. 애니메이션은 다음 프레임을 렌더링할 때 시작됩니다. 지정된 속성에 이미 애니메이션이 적용되어 있으면 지정된 HandoffBehavior가 사용됩니다. (다음에서 상속됨 Animatable) |
CheckAccess() |
호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다. (다음에서 상속됨 DispatcherObject) |
Clear() |
컬렉션에서 모든 요소를 제거합니다. |
ClearValue(DependencyProperty) |
속성의 로컬 값을 지웁니다. 지울 속성이 DependencyProperty 식별자에서 지정됩니다. (다음에서 상속됨 DependencyObject) |
ClearValue(DependencyPropertyKey) |
읽기 전용 속성의 로컬 값을 지웁니다. 선언할 속성이 DependencyPropertyKey에서 지정됩니다. (다음에서 상속됨 DependencyObject) |
Clone() |
전체 복사본을 만들어 이 FreezableCollection<T> 및 해당 콘텐츠의 수정 가능한 복제본을 만듭니다. 이 컬렉션 또는 해당 콘텐츠에 애니메이션이 적용된 종속성 속성이 있으면 현재 애니메이션이 적용된 값이 아닌 속성의 기준 값이 복사됩니다. |
CloneCore(Freezable) |
애니메이션이 적용되지 않은 기준 속성 값을 사용하여 이 인스턴스를 지정된 FreezableCollection<T>의 복제본(전체 복사본)으로 만듭니다. |
CloneCurrentValue() |
FreezableCollection<T> 개체의 현재 값에 대한 전체 복사본을 만들어 이 개체 및 해당 콘텐츠의 수정 가능한 복사본을 만듭니다. 이 개체 또는 이 개체에 포함된 개체에 애니메이션이 적용된 종속성 속성이 있는 경우 해당 개체의 애니메이션이 적용된 현재 값이 복사됩니다. |
CloneCurrentValueCore(Freezable) |
현재 속성 값을 사용하여 이 인스턴스를 지정된 FreezableCollection<T>의 수정 가능한 복제본(전체 복사본)으로 만듭니다. |
CoerceValue(DependencyProperty) |
지정된 종속성 속성의 값을 강제 변환합니다. 호출하는 DependencyObject에 있으므로 이 작업은 종속성 속성의 속성 메타데이터에 지정된 CoerceValueCallback 함수를 호출하여 수행합니다. (다음에서 상속됨 DependencyObject) |
Contains(T) |
이 FreezableCollection<T>에 지정한 값이 들어 있는지 여부를 확인합니다. |
CopyTo(T[], Int32) |
대상 배열의 지정된 인덱스에서 시작하여 전체 FreezableCollection<T>을 호환되는 1차원 배열에 복사합니다. |
CreateInstance() |
Freezable 클래스의 새 인스턴스를 초기화합니다. (다음에서 상속됨 Freezable) |
CreateInstanceCore() |
FreezableCollection<T>의 새 인스턴스를 만듭니다. |
Equals(Object) |
제공된 DependencyObject가 현재 DependencyObject에 해당하는지 여부를 확인합니다. (다음에서 상속됨 DependencyObject) |
Freeze() |
현재 개체를 수정할 수 없게 설정하고 해당 IsFrozen 속성을 |
FreezeCore(Boolean) |
이 FreezableCollection<T> 개체를 수정할 수 없게 만들거나, 수정할 수 없게 만들 수 있는지 확인합니다. |
GetAnimationBaseValue(DependencyProperty) |
지정된 DependencyProperty의 애니메이션이 적용되지 않은 값을 반환합니다. (다음에서 상속됨 Animatable) |
GetAsFrozen() |
애니메이션이 적용되지 않은 기준 속성 값을 사용하여 Freezable의 고정된 복사본을 만듭니다. 복사본이 고정되므로 고정된 하위 개체는 모두 참조를 통해 복사됩니다. (다음에서 상속됨 Freezable) |
GetAsFrozenCore(Freezable) |
애니메이션이 적용되지 않은 기준 속성 값을 사용하여 이 인스턴스를 지정된 FreezableCollection<T>의 고정된 복제본으로 만듭니다. |
GetCurrentValueAsFrozen() |
현재 속성 값을 사용하여 Freezable의 고정된 복사본을 만듭니다. 복사본이 고정되므로 고정된 하위 개체는 모두 참조를 통해 복사됩니다. (다음에서 상속됨 Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
이 인스턴스를 지정된 Freezable의 고정 복제본으로 만듭니다. 이 개체에 애니메이션이 적용된 종속성 속성이 있으면 애니메이션이 적용된 현재 값이 복사됩니다. |
GetEnumerator() |
전체 FreezableCollection<T>에 대한 열거자를 반환합니다. |
GetHashCode() |
이 DependencyObject의 해시 코드를 가져옵니다. (다음에서 상속됨 DependencyObject) |
GetLocalValueEnumerator() |
이 DependencyObject에 대해 로컬로 값을 설정한 종속성 속성을 확인하기 위한 특수 열거자를 만듭니다. (다음에서 상속됨 DependencyObject) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
GetValue(DependencyProperty) |
이 DependencyObject의 인스턴스에서 종속성 속성의 현재 유효 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
IndexOf(T) |
지정된 개체를 검색하고, 전체 FreezableCollection<T>에서 처음으로 검색한 개체의 인덱스(0부터 시작)를 반환합니다. |
Insert(Int32, T) |
FreezableCollection<T>의 지정된 인덱스에 지정된 개체를 삽입합니다. |
InvalidateProperty(DependencyProperty) |
지정된 종속성 속성의 유효 값을 다시 계산합니다. (다음에서 상속됨 DependencyObject) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
OnChanged() |
현재 Freezable 개체가 수정될 때 호출됩니다. (다음에서 상속됨 Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
방금 설정된 DependencyObjectType 데이터 멤버에 대한 적절한 컨텍스트 포인터를 설정합니다. (다음에서 상속됨 Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
OnPropertyChanged(DependencyPropertyChangedEventArgs)의 DependencyObject 구현을 재정의하여 Freezable 형식의 변화하는 종속성 속성에 대한 응답으로 Changed 처리기도 호출합니다. (다음에서 상속됨 Freezable) |
ReadLocalValue(DependencyProperty) |
종속성 속성의 로컬 값을 반환합니다(있는 경우). (다음에서 상속됨 DependencyObject) |
ReadPreamble() |
유효한 스레드에서 Freezable에 액세스하고 있는지 확인합니다. Freezable 상속자는 종속성 속성이 아닌 데이터 멤버를 읽는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
Remove(T) |
FreezableCollection<T>에서 처음 발견되는 지정된 개체를 제거합니다. |
RemoveAt(Int32) |
FreezableCollection<T>의 지정된 0부터 시작하는 인덱스에 있는 개체를 제거합니다. |
SetCurrentValue(DependencyProperty, Object) |
해당 값 소스를 변경하지 않고 종속성 속성의 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
SetValue(DependencyProperty, Object) |
지정된 종속성 속성 식별자를 가진 종속성 속성의 로컬 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
종속성 속성의 DependencyPropertyKey 식별자에 의해 지정된 읽기 전용 종속성 속성의 로컬 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
serialization 프로세스에서 지정된 종속성 속성의 값을 직렬화해야 하는지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
VerifyAccess() |
호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다. (다음에서 상속됨 DispatcherObject) |
WritePostscript() |
Changed 에 대한 Freezable 이벤트를 발생시키고 해당 OnChanged() 메서드를 호출합니다. Freezable에서 파생된 클래스는 종속성 속성으로 저장되지 않은 클래스 멤버를 수정하는 모든 API의 끝에서 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
WritePreamble() |
Freezable이 고정되어 있지 않고 유효한 스레드 컨텍스트에서 액세스되고 있는지 확인합니다. Freezable 상속자는 종속성 속성이 아닌 데이터 멤버에 쓰는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
이벤트
Changed |
Freezable 또는 여기에 들어 있는 개체가 수정될 때 발생합니다. (다음에서 상속됨 Freezable) |
명시적 인터페이스 구현
ICollection.CopyTo(Array, Int32) |
이 멤버에 대한 설명은 CopyTo(Array, Int32)를 참조하세요. |
ICollection.IsSynchronized |
이 멤버에 대한 설명은 IsSynchronized를 참조하세요. |
ICollection.SyncRoot |
이 멤버에 대한 설명은 SyncRoot를 참조하세요. |
ICollection<T>.IsReadOnly |
이 멤버에 대한 설명은 IsReadOnly를 참조하세요. |
IEnumerable.GetEnumerator() |
이 멤버에 대한 설명은 GetEnumerator()를 참조하세요. |
IEnumerable<T>.GetEnumerator() |
이 멤버에 대한 설명은 GetEnumerator()를 참조하세요. |
IList.Add(Object) |
이 멤버에 대한 설명은 Add(Object)를 참조하세요. |
IList.Contains(Object) |
이 멤버에 대한 설명은 Contains(Object)를 참조하세요. |
IList.IndexOf(Object) |
이 멤버에 대한 설명은 IndexOf(Object)를 참조하세요. |
IList.Insert(Int32, Object) |
이 멤버에 대한 설명은 Insert(Int32, Object)를 참조하세요. |
IList.IsFixedSize |
이 멤버에 대한 설명은 IsFixedSize를 참조하세요. |
IList.IsReadOnly |
이 멤버에 대한 설명은 IsReadOnly를 참조하세요. |
IList.Item[Int32] |
이 멤버에 대한 설명은 Item[Int32]를 참조하세요. |
IList.Remove(Object) |
이 멤버에 대한 설명은 Remove(Object)를 참조하세요. |
INotifyCollectionChanged.CollectionChanged |
이 멤버에 대한 설명은 CollectionChanged를 참조하십시오. |
INotifyPropertyChanged.PropertyChanged |
이 멤버에 대한 설명은 PropertyChanged를 참조하십시오. |
확장 메서드
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기