DataTemplateSelector 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
애플리케이션 수준에서 사용자 지정 템플릿 선택 논리를 사용하도록 설정합니다.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DataTemplateSelector : IElementFactory
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class DataTemplateSelector : IElementFactory
Public Class DataTemplateSelector
Public Class DataTemplateSelector
Implements IElementFactory
See Remarks
- 상속
- 특성
- 구현
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
설명
데이터 템플릿에 대한 자세한 내용은 DataTemplate 클래스 및 항목 컨테이너 및 템플릿을 참조하세요.
기본 DataTemplateSelector 클래스는 XAML에서 개체 요소로 사용되지 않습니다. 그러나 사용자 지정 DataTemplateSelector를 파생시키고, 사용자 지정 클래스 및 해당 네임스페이스/어셈블리에 대한 접두사를 매핑 xmlns
한 다음, XAML의 리소스 블록에 정의된 대로 사용자 지정 클래스의 instance 참조하는 것이 일반적인 시나리오입니다. 이렇게 하면 에서 사용자 지정 템플릿 선택기 클래스 x:Key
를 참조하고 해당 참조를 사용하여 XAML 템플릿 및 시각적 상태에서 ItemTemplateSelector 와 같은 속성 값을 설정할 수 있습니다.
DataTemplateSelector의 호출 가능한 메서드는 두 개의 SelectTemplate 오버로드입니다. DataTemplateSelector의 재정의 가능한 메서드는 두 개의 SelectTemplateCore 오버로드입니다. 유효한 DataTemplateSelector 하위 클래스를 정의하려면 SelectTemplateCore(Object) 및 SelectTemplateCore(Object, DependencyObject)에 대한 구현을 제공합니다. 이러한 모든 메서드는 일반적으로 가져오기 위해 호출된 메서드의 입력에 적합한 특정 선택인 DataTemplate instance 반환합니다.
앱 코드는 일반적으로 SelectTemplate 메서드를 호출하지 않습니다. 메서드는 인프라가 ItemsControl.ItemsTemplateSelector와 같은 속성 값에서 DataTemplateSelector instance 사용하여 올바른 템플릿을 선택하는 동안 호출할 수 있도록 존재합니다.
버전 기록
Windows 버전 | SDK 버전 | 추가된 값 |
---|---|---|
1809 | 17763 | GetElement |
1809 | 17763 | RecycleElement |
생성자
DataTemplateSelector() |
DataTemplateSelector 클래스의 새 instance 초기화합니다. |
메서드
GetElement(ElementFactoryGetArgs) |
SelectTemplate에서 반환된 DataTemplate에 선언된 UIElement 개체의 기존 instance 만들거나 검색합니다. |
RecycleElement(ElementFactoryRecycleArgs) |
GetElement를 사용하여 만든 UIElement 개체를 재활용합니다. |
SelectTemplate(Object) |
지정된 항목에 대한 특정 DataTemplate 을 반환합니다. |
SelectTemplate(Object, DependencyObject) |
지정된 항목 및 컨테이너에 대한 특정 DataTemplate 을 반환합니다. |
SelectTemplateCore(Object) |
파생 클래스에서 구현되는 경우 지정된 항목 또는 컨테이너에 대한 특정 DataTemplate 을 반환합니다. |
SelectTemplateCore(Object, DependencyObject) |
파생 클래스에서 구현되는 경우 지정된 항목 또는 컨테이너에 대한 특정 DataTemplate 을 반환합니다. |